Promise.race()
resolves whenever one of the promises resolves. If there are multiple promises, the first promise that gets resolved will be returned.
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => { resolve('one'); }, 500);
});
const promise2 = new Promise((resolve, reject) => {
resolve('two');
});
Promise.race([promise1, promise2]).then((value) => {
console.log(value);
// Both resolve, but promise2 is faster
});
// expected output: "two"
If an empty array is passed, it'll be in forever pending state.
Promise.any()
has a similar behavior. But unlike .any()
, .race()
will return the first fulfilled or rejected promise value. .any()
returns fulfilled values only.
Top comments (0)