Promise.race() First to settle
Last updated: 2026-09-09
Promise.race() First to settle
Promise.race returns the first Promise to settle (fulfilled or rejected).
| Category | Async |
|---|---|
| ES version | ES6 |
📝 Syntax
Promise.race([p1, p2]).then((first) => {...});
⚙️ Parameters
| iterable | An iterable of Promises. |
|---|
Returns:The first settled Promise's result.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
(fetch result or timeout error)
💡 Tip race is commonly used for timeouts — race the request against a timer.
ℹ️ info If the first settles as rejected, race rejects immediately.
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| Promise.race() | ✓ v32 | ✓ v12 | ✓ v27 | ✓ v8 | ✓ v19 |
| Supported by all modern browsers | |||||
🏷️ Related Items
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
Qrace vs all?
Arace takes the first to settle; all waits for all.
QCan race be used for timeouts?
AYes — race the request against a timer.
QWhat type is the result?
AThe first settled value — could be a fulfillment or a rejection.