1.Promise.all()方方详解
Promise.all,只有所有的Promise成功,才能够算作成功,只要有一个失败了,就直接失败;
它包含一个参数,这个参数是指包含多个Promise的数组;
如果有一个失败,那么返回第一个失败的Promise对象作为结果;
也就是说,如果有两个失败了,返回第一个失败的Promise对象作为失败的结果。
如果他们三个都是成功的,那么all方法的返回的结果;是他们三个Promise对象成功结果的组成的一个数组;
2.都是成功
let p1 = new Promise((resolve, reject) => { resolve('ok1') }) let p2 = new Promise((resolve, reject) => { resolve('ok2') }) let p3 = new Promise((resolve, reject) => { resolve('ok3') }) const result = Promise.all([p1, p2, p3]); console.log(result)
3.有一个Promise失败
let p1 = new Promise((resolve, reject) => { resolve('ok1') }) let p2 = new Promise((resolve, reject) => { reject('ok2') }) let p3 = new Promise((resolve, reject) => { resolve('ok3') }) const result = Promise.all([p1, p2, p3]); console.log(result)
promise.all在实际场景上的运用
由于promise在所有的结果都是成功;
才算做成功
我们可以利用他的这个特征
去做全部成功才可以去完成某一个逻辑操作的业务场景