[typescript] 타입스크립트에서 `Promise.any()` 메소드를 사용하여 여러 프로미스 중에 하나만 성공하면 어떻게 처리할 수 있나요?
다음은 Promise.any()
메소드를 사용하여 여러 프로미스 중에 하나만 성공하면 처리하는 예제 코드입니다.
const promises = [
Promise.reject('Error 1'),
Promise.resolve('Success 2'),
Promise.reject('Error 3')
];
Promise.any(promises).then((value) => {
console.log(value); // 성공한 프로미스의 값이 출력됩니다.
}).catch((error) => {
console.log(error); // 모든 프로미스가 실패했을 때의 에러가 출력됩니다.
});
위 예제에서 Promise.any()
메소드는 여러 프로미스 중에 하나라도 성공하면 성공한 프로미스의 값으로 이행됩니다. 만약 모든 프로미스가 실패한다면, Promise.any()
는 AggregateError
라는 새로운 에러를 reject합니다. 이때, catch()
메소드를 사용하여 모든 프로미스가 실패했을 때의 에러를 처리할 수 있습니다.
이와 같이 Promise.any()
메소드를 사용하여 여러 프로미스 중에 하나만 성공하면 처리할 수 있습니다.
더 자세한 내용은 TypeScript 공식 문서의 Promise.any()
섹션을 참고하시기 바랍니다. (https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html#more-flexible-promises)