A 先返回输出A
C返回,B没返回,先不输出C
Promise.all = function(promises){
return new Promise((resolve,reject)=>{
// let result = []
let indexArr = [] //4,2,1,0
let start = 0
for (let i=0; i<len; i++) {
promises[i].then((res) => {
indexArr[i] = res
let len = indexArr.length
for (let j = start; j<len; j++) {
if (indexArr[j] !== undefined) {
console.log(indexArr[j])
start++
}else {
break;
}
}
},(err)=>{
reject(err)
})
}
})
}
网友评论