- 0
- 2
Promise의 resolve와 fulfilled의 차이점
답변 확인
1. 차이점 요약
-
resolve
:- Promise를 성공적으로 이행
(fulfilled)
상태로 전환시키는 함수 - 비동기 작업이 성공적으로 완료되었음을 알리고 결과를 전달함
- Promise를 성공적으로 이행
-
fulfilled
:- Promise의 상태 중 하나로, 비동기 작업이 성공적으로 완료된 상태를 의미
resolve
가 호출되어야 Promise는fulfilled
상태가 됨
2. 동작 원리
resolve
호출:- 비동기 작업이 성공적으로 끝나면
resolve
함수가 호출됨 - 이 함수는 결과 값을 Promise로 전달하고, 상태를
fulfilled
로 전환함
- 비동기 작업이 성공적으로 끝나면
fulfilled
상태:resolve
가 호출된 이후의 상태를 말하며, Promise가 작업을 성공적으로 완료했음을 나타냄- 이 상태가 되면
.then
메서드에서 결과 값을 처리할 수 있음
3. 예제
const promise = new Promise((resolve, reject) => {
// 비동기 작업 성공 시
resolve('작업 완료!'); // resolve 호출 -> Promise 상태가 fulfilled로 전환
});
promise.then((result) => {
console.log(result); // "작업 완료!"
});
4. 주요 차이점
구분 | resolve |
fulfilled |
---|---|---|
정의 | Promise를 성공적으로 이행 상태로 전환시키는 함수 | Promise의 상태 중 하나로, 작업이 성공적으로 완료된 상태 |
역할 | 작업 완료를 알리고 결과 값을 전달 | 작업이 완료되었음을 나타내며 .then 메서드를 실행 가능 |
행위/상태 | resolve 는 Promise를 완료하는 행위 |
fulfilled는 Promise가 완료된 상태 |
호출 주체 | Promise 내부에서 개발자가 직접 호출 | resolve 호출에 의해 Promise의 상태가 전환된 결과 |
5. 실생활 비유
-
resolve
: 택배를 배달원이 성공적으로 전달하며 "물건이 도착했습니다!"라고 알리는 행위 -
fulfilled
: 물건이 실제로 도착한 상태
6. 추가 QA
-
Q :
resolve
에서 작업이 실패할 수 있나요?- A :
resolve
는 Promise를 성공적으로 완료하는 역할만 합니다.- 실패가 발생하면
resolve
대신reject
를 호출해야 하며, 이때 Promise는 거부(rejected)
상태로 전환됩니다.
- A :
-
Q :
then
과catch
의 역할은 무엇인가요?- A :
then
:resolve
된 값을 처리하는 메서드.catch
:reject
된 오류를 처리하는 메서드.
- A :
7. 결론
- resolve는 Promise를 성공적으로 마무리 짓는 함수이고,
- fulfilled는 그 결과로 발생하는 완료된 상태
- 둘의 관계는 "행위(호출)"와 "결과(상태)"
참고
Top comments (2)
- DavidYang2월 19일
우와 댓글이다~
- Olivia2월 19일
오오 ~~ :) 너무 글 좋네용