when new Promise is created, the executor runs automatically.
(Promise 의 callback 함수 executor 가 Promise 를 만들고 동시에 바로 실행 된다. - 호출 필요 없음)
Promise 의 callback 함수 executor --> executor: (resolve, reject) => void
executor의 callback 함수1 resolve --> resolve: (value: any) => void
executor의 callback 함수2 reject --> reject: (reason?: any) => void
Promise is doing some heavy work
(Promise는 주로 무거운 작업을 수행한다. - network, read files)
const promise = new Promise((resolve, reject) => {
console.log('doing something...');
setTimeout(() => {
// --> 정상적인 흐름의 데이터를 담는 함수 : resolve ★
resolve('ellie');
// --> 에러 발생 시 처리 내용을 담는 함수 : reject ★
// reject(new Error('no network'));
}, 2000);
});
※ Promise의 유의할 점 !!
Promise 를 만들자 마자 callback 함수 executor 가 실행되어 서버에 요청이 되므로, 요청할 필요 가 없을 때에도 요청이 되기 때문에 이점을 유의 하면서 만들어야 한다.