class MyPromise{
static all(PromiseArr){
let count = 0;
let result = [];
return new Promise((resolve, reject)=>{
for(let i=0;i<PromiseArr.length;i++){
Promise.resolve(PromiseArr[i]).then(res=>{
count++;
result[i] = res;
if(count == PromiseArr.length){
resolve(result);
}
}, err => {
reject(err);
})
}
})
}
static race(PromiseArr){
return new Promise((resolve, reject) => {
for(let i=0;i<PromiseArr.length;i++){
Promise.resolve(PromiseArr[i]).then(
res=>{
resolve(res);
},err => {
reject(err);
}
)
}
})
}
}
作者:Big shark@LX 链接:juejin.cn/post/700463…