function myPromiseAll(allPromises){ const results =[]; let promisesCompleted =0; return new Promise((resolve ,reject)=>{ allPromises.forEach((promise,index)=>{ promise.then((val)=>{ results[index] = val; promisesCompleted+=1; if(promisesCompleted === allPromises.length){ resolve(results); } }).catch((error)=>{ reject(error); }) }) }) }