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 가 실행되어 서버에 요청이 되므로, 요청할 필요 가 없을 때에도 요청이 되기 때문에 이점을 유의 하면서 만들어야 한다.