오늘은 모던 JavaScript 튜토리얼에서 프라미스에 대해 공부했다. 작성한 질문은 다음과 같다.
프라미스란 실행자와 소비자 사이를 연결하는 특별한 자바스크립트 객체이다. 프라미스는 시간의 경과를 신경 쓰지 않으며 실행자가 끝날 때, 소비자가 그 결과를 사용할 수 있도록 도와준다.
실행자란 new Promise에 전달되는 함수이며 new Promise가 만들어질 때, 자동으로 실행된다.
실행자의 인수 resolve, reject는 자바스크립트에서 제공하는 콜백 함수이다. resolve와 reject를 작성하지 않고 실행자만 작성해도 되지만 실행자에서 결과를 시간 소요 상관없이 상황에 따라 인수로 콜백 중 하나를 반드시 호출해야 한다.
- resolve(value): 일이 문제없이 끝난 경우, 그 결과를 나타내는 value와 함께 호출
- reject: 에러 발생 시, 에러 객체를 나타내는 error와 함께 호출
new Promise 생성자가 반환하는 promise 객체에는 다음과 같은 프로퍼티가 존재한다.
- state: 처음엔 값이 "pending"이다가 resolve가 호출되면 "fullfilled", reject가 호출되면 "rejected"로 변경된다.
- result: 처음엔 값이 "undefined"이다가 resolve(value)가 호출되면 value로, reject(error)가 호출되면 error로 변경된다.
'TIL' 카테고리의 다른 글
TIL - 20220807 (0) | 2022.08.07 |
---|---|
TIL - 20220806 (0) | 2022.08.06 |
TIL - 20220804 (0) | 2022.08.04 |
TIL - 20220803 (0) | 2022.08.03 |
TIL - 20220802 (0) | 2022.08.02 |