Promise.any()

Promise.any() takes an iterable of Promise objects. It returns a single promise that fulfills as soon

 as any of the promises in the iterable fulfills, with the value of the fulfilled promise. If no

 promises in the iterable fulfill (if all of the given promises are rejected), then the returned

 promise is rejected with an AggregateError, a new subclass of Error that groups together

 individual errors.  



const promise1 = Promise.reject(0);

const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'quick'));

const promise3 = new Promise((resolve) => setTimeout(resolve, 500, 'slow'));


const promises = [promise1, promise2, promise3];


Promise.any(promises).then((value) => console.log(value));


// expected output: "quick"





const promise1 = () => new Promise((resolve,reject) => {

setTimeout(() => {

resolve(1)

},100)

})

const promise2 = () => new Promise((resolve,reject) => {

reject(2)

})

const promise3 = () => new Promise((resolve,reject) => {

setTimeout(() => {

resolve(3)

})

})

Promise.any([promise1(),promise2(),promise3()])

.then((val) => {

console.log(val) // 3

})

.catch((err) => {

console.log(err)

})


Comments

Popular posts from this blog

Two Sum II - Input Array Is Sorted

Comparable Vs. Comparator in Java

Increasing Triplet Subsequence