I am trying to run a for loop which queues a bunch of asynchronous requests. Once all the requests complete, independent of whether they resolve or reject, I want to then run some code. I am trying to take advantage of the async/await pattern, as it looks nicer. :)
This is what I am doing:
var promises = []
for ( item in list ) {
    prom = AsyncFunction( item )
    promises.push(prom)
}
await Promise.all(promises)
doMoreAfter()
However, some of the promises fail, and the second that happens Promise.all() fails aswell.
I want to simply ignore any failed promises, and have the next code run after all the promises have completed.
I found solutions like this.
Promise.all([a(), b(), c()].map(p => p.catch(e => e)))
  .then(results => console.log(results)) // 1,Error: 2,3
  .catch(e => console.log(e));
But it doesn't look like it works when trying to turn it into the async/await format.
await Promise.all(promises.map(p => p.catch(e => e)))
What am I missing?
 
     
     
    