使用 Promise.all()
Promise.all()用于将多个 Promise 实例,包装成一个新的 Promise 实例
Promise.all()接受一个数组作为参数,数组里的元素都是 Promise 对象的实例,如果不是,
就会先调用下面讲到的 Promise.resolve(),将参数转为 Promise 实例,再进一步处理。
(Promise.all()方法的参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都
是 Promise 实例。)
示例:let p =Promise.all([p1,p2,p3])
p 的状态由 p1、p2、p3 决定,分为两种情况。
当该数组里的所有 Promise 实例都进入 Fulfilled 状态:Promise.all**返回的实例才会变成
Fulfilled 状态。并将 Promise 实例数组的所有返回值组成一个数组,传递给 Promise.all 返回
实例的回调函数**。
当该数组里的某个 Promise 实例都进入 Rejected 状态:Promise.all 返回的实例会立即变成
Rejected 状态。并将第一个 rejected 的实例返回值传递给 Promise.all 返回实例的回调函数