promise.all()
简单解释一下,接受的参数是一个数组类型的,当数组中每一个promise都成功的时候返回成功,也
就是说其中任意一个失败,返回的就是失败;
现在说一下如何实现:其实就是你要记录一下成功的promise的长度,只要返回成功的promise的长
度跟输入数组长度相等即为成功,反之失败,理解这点之后实现起来就比较简单了:
**function all (promises) {
const values = []
return new Promise((resolve, reject) => {
promises.forEach(promise => {
promise.then(
value => {
values.push(value)
if (values.length === promises.length) {
resolve(value)
}
},
reaseon => {
reject(reason)
}
)
})
})
}**