
⇒ 프라미스 예시 코드
let promise = new Promise(function(resolve, reject) {
// executor (제작 코드, '가수')
});
new Promise에 전달되는 함수는 executor(실행자, 실행 함수) 라고 부름resolve(value) — 일이 성공적으로 끝난 경우 그 결과를 나타내는 value와 함께 호출reject(error) — 에러 발생 시 에러 객체를 나타내는 error와 함께 호출executor는 자동으로 실행되는데 여기서 원하는 일이 처리됩니다. 처리가 끝나면 executor는 처리 성공 여부에 따라 resolve나 reject를 호출합니다.
한편, new Promise 생성자가 반환하는 promise 객체는 다음과 같은 내부 프로퍼티를 갖습니다.
state — 처음엔 "pending"(보류)이었다 resolve가 호출되면 "fulfilled", reject가 호출되면 "rejected"로 변합니다.result — 처음엔 undefined이었다 resolve(value)가 호출되면 value로, reject(error)가 호출되면 error로 변합니다.따라서 executor는 아래 그림과 같이 promise의 상태를 둘 중 하나로 변화시킵니다.
⇒ 소비자 : then, catch, finally
프라미스 객체는 executor(‘제작 코드’ 혹은 ‘가수’)와 결과나 에러를 받을 소비 함수(‘팬’)를 이어주는 역할을 합니다. 소비함수는 .then, .catch, .finally 메서드를 사용해 등록(구독)됩니다.
⇒ 콜백보다 프라미스가 더 좋은 점

너무 어렵다.. ㅎㅎ 써본적도 없는데 너무 어렵다 ㅠㅠ
그래도 이전에 배운 callback보다도 더 좋은 점도 있고, 또 chpater 11에서 프라미스와 관련된 것만 5개다….
그만큼 자주 쓸 가능성이 높다는 점… 화이팅하자 ㅎㅎ