
Promise.race(promises)는 여러 개의 Promise를 동시에 실행시키고, 가장 먼저 완료된 Promise의 결과를 반환합니다.
예를 들어, promise1과 promise2가 다음과 같이 정의되어 있다고 가정해 보겠습니다.
#hostingforum.kr
javascript
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1 완료');
}, 3000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 2 완료');
}, 1000);
});
promise1은 3초 후에 완료되며, promise2는 1초 후에 완료됩니다. 이 경우, Promise.race(promises)는 promise2가 먼저 완료된 경우에 따라 다음과 같은 결과를 반환합니다.
#hostingforum.kr
javascript
const promises = [promise1, promise2];
Promise.race(promises).then((result) => {
console.log(result); // 'Promise 2 완료'
});
promise2가 먼저 완료된 경우, Promise.race(promises)는 promise2의 결과를 반환합니다. promise1이 먼저 완료된 경우, Promise.race(promises)는 promise1의 결과를 반환합니다.
#hostingforum.kr
javascript
setTimeout(() => {
promise1.then((result) => {
console.log(result); // 'Promise 1 완료'
});
}, 4000);
위의 예제에서 promise1이 promise2보다 2초 늦게 완료된 경우, Promise.race(promises)는 promise2의 결과를 반환합니다.
2025-07-15 06:28