Promise.all方法
Promise.all() 方法是一个静态方法,这意味着它属于整个类,而不是绑定到该类的任何特定实例。它接受可迭代的 Promise 作为输入并返回单个 Promise 对象。
Promise.all() 方法返回一个新的 Promise。如果传递给该方法的所有承诺都已成功解析,则此新承诺将解析为已确定承诺值的数组。一旦通过的承诺之一被拒绝,这个新的承诺也将被拒绝。
Promise.myAll = function(params){
let res,rej
const i = 0
const array = []
const fullfilled = 0
const p = new Promise((reslove,rejecct)=>{
res = reslove
rej = reject
})
for(const item of params){
const index = i
i++
Promise.reslove(item).then(e=>{
array[index] = e
fullfilled++
if(fullfilled == i){
return res(array)
}
},rej)
}
if(i == 0){
return res([])
}
return p
}