promise.all()
promise.all()
用途:Promise.all() 方法用于将多个Promise实例,包装成一个新的Promise实例
用法:
const test = Promise.all( [ p1, p2,p3 ] )
上面代码中,Promise.al()方法接受一个数组作为参数,p1 、p2 、p3都是Promise实例,如果不是,就会先调用promise.resolve方法,将参数转为Promise实例,再进一步处理,另外Promise.all()方法的参数可以不是数组,但必须具有Iterator接口,且返回的每个成员都是Promise实例。
p的状态由 p1, p2,p3 决定,分成两种情况
1、只有p1,p2,p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1,p2,p3的返回值组成一个数组,传递给p的回调函数
2、只要p1,p2,p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实力的返回值,会传递给p的回调函数