Promise.any
by jib1
HTML
<div id="div"></div>
JavaScript
var console = { log: msg => div.innerHTML += msg + "<br>",
error: e => console.log(e +", "+ (e.lineNumber-25)) };
const a = Promise.reject(new Error(1));
const b = Promise.reject(new Error(2));
const c = Promise.resolve(3);
//const c = Promise.reject(new Error(3));
Promise.all([a, b, c].map(p => p.then(r => Promise.reject(r), e => e)))
.then(r => Promise.reject(r), e => e)
.then(result => console.log(result)) // 3
.catch(errors => errors.map(e => console.log(e)));