Promise.prototype.all = function(iterators){
const promiseArr = Array.from(iterators)
const len=promiseArr.length
let count = 0
let res = []
return new Promise((resolve,reject)=>{
promiseArr.forEach((p,index)=>{
Promise.resolve.then(res=>{
count++
res[index]=res
if(count==len) resolve(res)
}).catch(e=>{
reject(e)
})
})
})
}
var p1 = Promise.resolve('2222')
var p2 = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve('p2')
},1000)
})
var p3 = new Promise((resolve,reject)=>{
setTimeout(resolve,2000,'p3')
})
Promise.all([p1,p2,p3]).then(res=>{
console.log(res)
},err=>{
console.log(err)
})