Back to homepage

Promise.all in React: All-or-Nothing Fetching

21 Jul 2025

When Promise.all is ideal, and when Promise.allSettled is a safer fit.

Parallel API requests with Promise.all are fast and clean:

const [userRes, orgRes, projectRes] = await Promise.all([
axios.get(`/api/users`),
axios.get(`/api/organizations`),
axios.get(`/api/projects`),
]);

Why use Promise.all

  • Runs requests in parallel
  • Total wait time matches the slowest request
  • Clear all-or-nothing control flow

Tradeoff

If one request fails, all results are rejected.

If you want partial success handling, use Promise.allSettled.