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)));