Promise.all = (iterators) => {
return new Promise((resolve, reject) => {
const len = iterators.length;
if(!iterators || len === 0){
resolve([]);
}else{
const result = [];
for(let i = 0;i < len;i ++){
Promise.resolve(iterators[i]).then(
(data) => {
result[i] = data;
if(i === len - 1){
resolve(result);
}
},
(err) => {
reject(err);
return;
}
)
}
}
})
}
手写 Promise.all
最新推荐文章于 2026-06-24 17:47:29 发布
本文详细介绍了如何使用JavaScript自定义实现Promise.all函数,通过遍历迭代器并处理每个Promise的结果,当所有任务完成时返回结果数组,或者在任意一个任务失败时立即终止并返回错误。此实现适用于并发处理多个异步操作。

3642

被折叠的 条评论
为什么被折叠?



