如果我们promise不用all的话,怎么实现all,可以试试下面的方法
function myPromiseall(...arguments){
return new Promise((resolve,reject)=>{
let arr=[ ],//resolve返回值
err=true,//Promise状态
errContent=" ";//失败提醒
for(var i=0;i<arguments.length;i++){
Promise.resolve(
arguments[i].then(v=>{
arr.push(v)
if(arr.length===arguments.length){
return resolve(arr);
}
},e=>{
return reject(e)
})
)
}
})
}
/*注意a和b为两个promise实例*/
myPromiseall(a,b).then(v=>{
console.log(v)
}).catch(e=>{
console.log(e)
})