简单的说Promise.all可以同时处理多个异步事件
注意项
如果一个承诺失败,那么所有其他承诺都会失败, 然后Promise.all被拒绝。
这个例子 如果我们传入的参数 是[1000,2000,3000]则会有一个异步方法执行错误 导致整个Promise.all 失败
durations = [1000, 2000, 3000]
promises = []
this.durations.map((item) => {
this.promises.push(this.method(duration))
})
//调用
Promise.all(promises)
.then((res) => {
console.log('成功',res)
})
.catch((err)=>{
console.log('失败',err)
})
//异步方法
method(t){
return new Promise((resolve, reject) => {
setTimeout(() => {
if (t === 2000) {
reject(`Rejected in ${t}`)
} else {
resolve(`Completed in ${t}`)
}
}, t)
})
}