冷知识
什么是迭代器?
如何迭代器转换成数组?
方法一: Array.from(迭代器);
方法二: [...迭代器]
如何将常量转换成promise?
Promise.resolve(常量);
首先Promise.all接受的是可以遍历的迭代器,返回的是新的promise对象
functin pALL (_promise) {
return new Promise((resolve,reject) => {
const promise = Array.from(_promise); //迭代器转化成数组
const r = []; //接受所有接口返回的数据
const len = promise.length;
let count === 0;
for(let i = 0; i < len; i++) {
//数组中有可能是常量,所以必须先全部转换成promise对象
Promise.resolve(promises[i]).then(o => {
r[i] = o; //确定对应的位置是对应的请求接口的函数
if(i === (len - 1)){
resolve(r); //最后一次循环将resolve出去
}
}).catch(e => reject(e)) //监听报错并返回报错
}
})
}