Promise란 향후에 언젠가 사용하게 될 값을 생산해내는 객체이다. 여기서 값은 얻을 수 있거나(resolved), 혹은 값을 얻지 못하는 대신에 그렇게 된 이유를 얻게 된다(rejected).
Promise는 다음 3가지 상태 중 하나를 가진다.
두개의 결과
Promise는 비동기 함수로 부터 동기적으로 반환되는 객체이고 3가지 상태를 가진다.
onFulfilled()
가 호출된다 (ex) resolve()
호출)onRejected()
가 호출된다 (ex) reject()
호출)Promise가 pending상태가 아니면, settled상태라고 말한다. 즉, resolved 또는 rejected 상태이다.
한번 settled 상태가 되고 나면, Promise는 다시 settled 될 수 없다. 즉, resolve() 또는 reject()의 호출이 아무런 효과가 없다. settled 상태인 Promise가 갖는 이 불변성은 아주 중요한 특징이다.
정해진 시간이 흐르고 나면 resolve
를 호출하는 간단한 코드이다.