设计并实现 Promise.race()
返回一个 promise,一旦迭代器中的某个 promise 解决或拒绝,返回的 promise 就会解决或拒绝
效果示例:
const promise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 500, 'one');
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(reject, 100, 'two');
});
Promise.race([promise1, promise2]).then((value) => {
console.log(value);
// Both resolve, but promise2 is faster
});
function myPromiseRace(ary) {
return new Promise((resolve,reject) => {
ary.map(item => {
item.then(resolve).catch(reject)
})
})
}
myPromiseRace([promise1, promise2]).then((value) => {
console.log(value);
// Both resolve, but promise2 is faster
}).catch(res => {
console.log(res)
})