๐ย Reference
๐ย Chapter
Promise.race()
ย static method takes an iterable of promises as input and returns a singleย Promise
. This returned promise settles with the eventual state of the first promise that settles.var p1 = new Promise((resolve, reject) => {
setTimeout(() => resolve('ํ๋'), 1000);
});
var p2 = new Promise((resolve, reject) => {
setTimeout(() => resolve('๋'), 2000);
});
var p3 = new Promise((resolve, reject) => {
setTimeout(() => resolve('์
'), 3000);
});
var p4 = new Promise((resolve, reject) => {
setTimeout(() => resolve('๋ท'), 4000);
});
Promise.race([p1, p2, p3, p4, p5])
.then(value => {
console.log(value);
});
// ์ฝ์ ์ถ๋ ฅ๊ฐ:
// "ํ๋"
์์ ์ฝ๋์์ ๋ณด๋ฉด ๊ฐ์ฅ ๋นจ๋ฆฌ ์คํ์ด ์๋ฃ๋ p1์ result์ธ 'ํ๋'๋ง ์ฝ์์ ์ฐํ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์์ 2
var p1 = new Promise((resolve, reject) => {
setTimeout(() => reject('ํ๋'), 1000);
});
var p2 = new Promise((resolve, reject) => {
setTimeout(() => reject('๋'), 2000);
});
var p3 = new Promise((resolve, reject) => {
setTimeout(() => reject('์
'), 3000);
});
var p4 = new Promise((resolve, reject) => {
setTimeout(() => reject('๋ท'), 4000);
});
Promise.race([p1, p2, p3, p4, p5])
.then(value => {
console.log(value);
})
.catch(error=>{
console.log("error",error);
});
// ์ฝ์ ์ถ๋ ฅ๊ฐ:
// error ํ๋