If I have two promises A and B, only one of which will succeed, how can I get whichever one fulfills successfully? I\'m looking for something similar to Promise.race>
Promise.any - first fulfilled Promise wins.
const promiseA = Promise.reject();
const promiseB = new Promise((resolve) => setTimeout(resolve, 100, 'succeed'));
const promises = [promiseA, promiseB];
Promise.race(promises).then((value) => console.log(value)); // rejected promise
Promise.any(promises).then((value) => console.log(value)); // "succeed"
Notice that any is ignoring the first rejected promise - promiseA because promiseB is being resolved
If all of the given promises are rejected, then the returned promise is rejected.
This is finished proposal and it's scheduled for ES2021 (expected to be released in June 2021)