
Promise.any(promises)에서 하나 이상의 Promise가 reject를 호출하면, Promise.any(promises)는 바로 reject를 호출합니다. 에러를 처리하는 방법은 다음과 같습니다.
Promise.any(promises)는 reject를 호출한 Promise를 식별하는 방법이 없습니다. 하지만, Promise.allSettled(promises) 함수를 사용하여 Promise의 상태를 확인할 수 있습니다.
Promise.allSettled(promises)는 모든 Promise의 상태를 확인하고, reject를 호출한 Promise의 정보를 포함하는 객체를 반환합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
javascript
Promise.allSettled([
new Promise((resolve, reject) => {
reject(new Error('Promise 1 reject'));
}),
new Promise((resolve, reject) => {
resolve('Promise 2 resolve');
}),
new Promise((resolve, reject) => {
reject(new Error('Promise 3 reject'));
}),
]).then((results) => {
results.forEach((result, index) => {
if (result.status === 'rejected') {
console.log(`Promise ${index + 1} reject: ${result.reason.message}`);
}
});
});
위 코드는 Promise.allSettled(promises) 함수를 사용하여 Promise의 상태를 확인하고, reject를 호출한 Promise의 정보를 포함하는 객체를 반환합니다. reject를 호출한 Promise를 식별하는 방법은 Promise.allSettled(promises) 함수를 사용하는 것입니다.
2025-07-30 13:57