function promise_My_All(primiseArr){
let arr = [],count=0;
return new Promise((resolve,reject)=>{
primiseArr.forEach((item,index) => {
//用Promise.resolve解决数组万一不是promise的问题
Promise.resolve(item).then(res=>{
arr[index] = res;
count+=1;
if(count===primiseArr.length){
resolve(arr)
}
}).catch(err=>{
reject("失败")
})
});
})
}
let promiseA = new Promise((resalve,reject)=>{resalve("A")})
let promiseB = new Promise((resalve,reject)=>{reject("B")})
promise_My_All([promiseA,promiseB]).then(res=>{
console.log(res,"=======CCCCC");
})
手写promise.all
于 2022-04-12 17:10:23 首次发布