const myPromiseAll = (arr)=>{
let result = {};
return new Promise((resolve,reject)=>{
for(let i = 0;i < arr.length;i++){
if(isPromise(arr[i])){
arr[i].then((data)=>{
result[i] = data;
if(Object.entries(result).length === arr.length){
const finalResult = [];
Object.entries(result).forEach(([key,value])=>finalResult[key] = value);
resolve(finalResult)
}
},reject)
}else{
result[i] = arr[i];
}
}
})
}
JavaScript - promise.all()及实现用处:并行执行一系列异步操作,返回结果集。 |Promise.all(iterable)方法返回一个 [Promise],此实例在 iterable 参数内所有的 promi...