Promise.any prototype

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


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