实现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)
})
})
}