자바스크립트와 nodejs에선 주로 비동기를 사용한다.
콜백 지옥을 해결하기 위해 Promise의 개념이 등장하게 되었다.
프로미스란 객체이다.
프로미스는 성공할 수도 실패할 수도 있다.
성공할 때는 resolve
를 호출하고, 실패할 때는 reject
를 호출해주면 된다.
resolve(value)
→ 처리가 성공됐을 때 결과 값(value)을 설정reject(error)
→ 실패했을 때 오류(error)를 설정resolve와 reject를 호출 할 때 특정 값을 파라미터로 넣어주면, 이 값을 작업이 끝나고 사용할 수 있다.
이후에 다른 작업이 필요할 때는 성공시 .then(...)
을, 실패 시 .catch()
를 붙여서 사용하면 된다.
state
: pending
(생성 시) → fulfilled
(resolve시) → rejected
(reject시)result
: undefined
(생성 시) → value
(파라미터로 넘어온 값) → error
(파라미터로 넘어온 에러)참고 링크
https://developer.mozilla.org/ko/docs/Web/JavaScrip%3Cbr%3Et/Reference/Global_Objects/Promise
https://ko.javascript.info/promise-basics