DEV Community

loading...

Promise.race()

rajikaimal profile image Rajika Imal Updated on ・1 min read

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"
Enter fullscreen mode Exit fullscreen mode

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.

Discussion (0)

pic
Editor guide