Promise를 이행 및 거절 상태로 다루는 JavaScript 예제 코드 작성하기
const myPromise = new Promise((resolve, reject) => {
const success = true;
if (true) {
resolve("성공")
} else {
reject("실패")
}
});
myPromise
.then(result => {
console.log(`이행상태: ${result}`)
})
.catch(error => {
console.log(`이행상태: ${error}`)
});
1. const myPromise = new Promise((resolve, reject) => { ... });:
- Promise 객체 myPromise를 생성한다.
- Promise 생성자 함수를 호출하고, 함수 내부에서 resolve와 reject라는 두 개의 함수를 인수로 받는 콜백 함수를 정한다.
2. if (true) { ... }:
- if 문의 조건은 항상 true로 평가된다. 따라서 아래의 코드 블록이 실행된다.
3. resolve("성공"):
- resolve 함수를 호출하여 Promise를 이행(Fulfilled) 상태로 만든다.
- 이때, "성공"이라는 값을 이행 상태의 결과로 반환한다.
4. .then(result => { ... }):
- then 메서드를 사용하여 Promise가 이행 상태가 될 때 실행되는 함수를 등록한다.
- 이 함수는 result라는 매개변수를 받아 이행 상태의 결과를 처리한다.
5. console.log(`이행상태: ${result}`):
- then 메서드에 등록된 함수가 실행된다.
- 이 함수는 result 값을 출력하여 "이행상태: 성공"과 같은 메시지를 콘솔에 출력한다.
6. .catch(error => { ... }):
- catch메서드를 사용하여 Promise가 거절 상태가 될 때 실행되는 함수를 등록한다.
- 이 함수는 error라는 매개변수를 받아 거절 상태의 결과를 처리한다.
7. console.log(`이행상태: ${error}`):
- catch 메서드에 등록된 함수가 실행된다.
- 이 함수는 error값을 출력하여 "이행상태: 실패"와 같은 메시지를 콘솔에 출력한다.
코드를 실행하면 항상 if 조건이 true로 평가되므로 Promise는 이행 상태가 되고, "성공" 메시지가 콘솔에 출력된다.
코드에서 resolve 함수가 호출되면 Promise가 성공 상태로 이행되며 then 메서드에 등록된 함수가 실행된다.