6. 手写 Promise.all
- 核心思路
1接收一个 Promise 实例的数组或具有 Iterator 接口的对象作为参数
2这个方法返回一个新的 promise 对象,
3遍历传入的参数,用Promise.resolve()将参数"包一层",使其变成一个promise对象
4参数所有回调成功才是成功,返回值数组与参数顺序一致
5参数数组其中一个失败,则触发失败状态,第一个触发失败的 Promise 错误信息作为 Promise.all 的错误信息。
2)实现代码
一般来说,Promise.all 用来处理多个并发请求,也是为了页面数据构造的方便,将一个页面所用到的在不同接口的数据一起请求过来,不过,如果其中一个接口失败了,多个请求也就失败了,页面可能啥也出不来,这就看当前页面的耦合程度了
function promiseAll(promises) {