const PromiseAll = (itetator)=>{
let results = [];
let promises = Array.from(itetator);
let len = promises.length;
let count = 0;
return new Promise((resolve,reject)=>{
for(let i in promises){
Promise.resolve(promises[i]).then(res=>{
results[i] = res;
count++;
if(count === len){
resolve(results)
}
}).catch(err=>{
reject(err)
})
}
})
}