/**
* Promise.myRace
* @param {Array} 输入数组
* @return {Promise} 返回promise对象
*/
Promise.myRace = function(params){
return new Promise((resolve, reject) => {
params.forEach(param => {
Promise.resolve(param).then((res)=>{
resolve(res)
},(rej)=>{
reject(rej)
})
});
})
}
let prom1 = new Promise((resolve, reject) => {
setTimeout(() => {
console.log(22222)
resolve(2)
}, 3000);
})
let prom2 = new Promise((resolve, reject) => {
setTimeout(() => {
console.log(11111)
resolve(1)
}, 4000);
})
Promise.myRace([prom1,prom2]).then((res)=>{console.log(res)},(err)=>{console.log(err)})
// 22222
// 2
// 11111
16.手写JavaScript Promise.race
最新推荐文章于 2024-06-14 15:02:13 发布