function promiseAll(arr) {
const promises = Array.from(arr)
let promiseList = []
let len = promises.length
let count = 0
return new Promise((resolve, reject) => {
promises.forEach((item,idx)=>{
promises[idx].then(res=>{
count++
promiseList[idx] = res
if(count === len) {
resolve(promiseList)
}
}).catch(e=>{
reject(e)
})
})
})
}
let promise1 = new Promise((resolve, reject) =>{
resolve(11)
})
let promise2 = new Promise((resolve, reject) =>{
resolve(22)
})
promiseAll([promise1,promise2]).then(res=>{
console.log('all',res)
}).catch(err=>{
console.log('allError',err)
})
【js】实现promise.all方法
最新推荐文章于 2024-05-07 15:46:24 发布