[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)