const a = new Promise((resolve, reject) => { console.log("Promise a") setTimeout(() => resolve('a is resolved'), 1000) }) const b = new Promise((resolve, reject) => { console.log("Promise b") setTimeout(() => resolve('b is resolved'), 1500) }) const c = new Promise((resolve, reject) => { console.log("Promise c") setTimeout(() => reject('c is reject'), 1250) }) // normally a and b would resolve in here but with c erroring // nothing gets into the "then" Promise.all([a, b, c]).then((msgs) => { console.log("all messages resolved") console.log(msgs) }).catch((err) => { console.warn(`error caught: ${err}`) })