Beyond Promise.all, JavaScript offers three more combinators that solve specific concurrency problems.
Promise.all — All or Nothing
Promise.allSettled — Get Everything
Promise.race — First to Finish
Promise.any — First Success
Decision Matrix
| Method | Use When | Fails When |
|---|---|---|
| Promise.all | Need ALL results, fail fast | Any rejects |
| Promise.allSettled | Want all results regardless | Never rejects |
| Promise.race | Need fastest response | First to settle rejects |
| Promise.any | Need first success | ALL reject |