实现Promise.all 方法
实现Promise.all 方法
Primise.prototype.all = (promiseList) => {
if (!Array.isArray(promiseList.length)) {
return thorw new Error('参数必须为数组类型!')
}
let results = []
let count = 0
let promiseListLength = promiseList.length
return new Promise((resolve, reject) => {
promiseList.forEach((item, index) => {
Promise.resolve(item).then((res) => {
count++
results[index] = res
if (count === promiseListLength) {
return resolve(results)
}
}
},(err) => {
return reject(err)
})
})
}
本文详细介绍了如何实现Promise.all方法,包括检查参数类型、初始化结果数组、计数器以及处理每个Promise的结果。当所有Promise完成时,调用resolve返回结果数组;如果遇到错误,则调用reject传递错误。
1842

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



