
Promise.allSettled(promises) 함수는 모든 Promise가 settled 상태가 될 때까지 기다립니다. settled 상태란 fulfilled 또는 rejected 상태를 의미합니다. 이 함수는 오류가 발생한 Promise를 처리하는 방법을 제공하지 않습니다. 오류를 처리하려면 catch 블록을 사용하여 오류를 캐치해야 합니다.
다음은 예제와 함께 오류를 처리하는 방법을 설명합니다.
#hostingforum.kr
javascript
const promises = [
Promise.resolve('성공 1'),
Promise.reject('에러 1'),
Promise.resolve('성공 2'),
Promise.reject('에러 2')
];
Promise.allSettled(promises)
.then((results) => {
console.log(results);
})
.catch((error) => {
console.error('오류:', error);
});
위 코드에서 catch 블록은 오류를 캐치하여 처리합니다. 오류가 발생한 Promise의 reason을 console.error에 출력합니다.
또 다른 방법은 Promise.allSettled(promises) 함수를 사용하여 오류를 처리하는 방법을 설명합니다.
#hostingforum.kr
javascript
const promises = [
Promise.resolve('성공 1'),
Promise.reject('에러 1'),
Promise.resolve('성공 2'),
Promise.reject('에러 2')
];
Promise.allSettled(promises)
.then((results) => {
results.forEach((result) => {
if (result.status === 'rejected') {
console.error(`오류: ${result.reason}`);
} else {
console.log(`성공: ${result.value}`);
}
});
});
위 코드에서 results.forEach() 메소드를 사용하여 각 Promise의 상태를 확인합니다. rejected 상태인 경우 오류를 console.error에 출력하고, fulfilled 상태인 경우 성공을 console.log에 출력합니다.
2025-05-28 13:20