Promise란 향후에 언젠가 사용하게 될 값을 생산해내는 객체이다. 여기서 값은 얻을 수 있거나(resolved), 혹은 값을 얻지 못하는 대신에 그렇게 된 이유를 얻게 된다(rejected).

Promise는 다음 3가지 상태 중 하나를 가진다.

두개의 결과

Promise의 작동 방식

Promise는 비동기 함수로 부터 동기적으로 반환되는 객체이고 3가지 상태를 가진다.

Promise가 pending상태가 아니면, settled상태라고 말한다. 즉, resolved 또는 rejected 상태이다.

한번 settled 상태가 되고 나면, Promise는 다시 settled 될 수 없다. 즉, resolve() 또는 reject()의 호출이 아무런 효과가 없다. settled 상태인 Promise가 갖는 이 불변성은 아주 중요한 특징이다.

정해진 시간이 흐르고 나면 resolve를 호출하는 간단한 코드이다.