Promise.all() protoype

const promiseAll = (promises) => {
console.log(promises)
return new Promise(function(resolve,reject){
const result = []
let count = 0
return promises.forEach(p => {
p.then((value)=>{
result[count] = value
count = count + 1;
if(count === promises.length){
return resolve(result);
}
}).catch((error)=>{
return reject(error)
})
})

})
}

const time = (time) => new Promise(function(resolve,reject){
return setTimeout(()=>{resolve(time)},time)
})
promiseAll([time(100),time(200),time(300)])
.then(results => console.log("r",results))
.catch(console.error)