2.6.2절에서 고차 함수를 배울 때 함수 호출 부분을 함수의 반환값으로 대체하면 이해하기 쉽다고 했죠? 여기서 setTimeout(resolve, 1000)은 setTimeout(() => resolve(), 1000)과 같습니다. 그래서 필자는 프로미스를 실행된 결과 값을 저장하고 있으며 언제든지 필요할 때 그 값을 꺼낼 수 있는 객체라고 설명합니다.
프로미스 문법의 장점은 then()이나 catch() 메서드를 나중에 붙일 수 있다는 것입니다.
const p1 = new Promise((resolve, reject) => {
resolve('프로미스 작업을 합니다.');
});
console.log('다른 일을');
console.log('열심히');
console.log('하다가');
p1.then(console.log);
다른 일을
열심히
하다가
프로미스 작업을 합니다.