Wait for all promises to resolve in JavaScript
How to wait for multiple promises (using await) to all resolve
Sometimes we need to wait for a promise to resolve, and we also need to wait for another promise to resolve.
Something like this:
const values = await store.getAll()
const keys = await store.getAllKeys()
This works but it’s not ideal. First we’re waiting for the first call to be resolved, then we start the second.
I want to start both first, then I want to wait until both finished. Not a millisecond more.
The solution is to wrap all in a await Promise.all()
call, like this:
const data = await Promise.all([store.getAll(), store.getAllKeys()])
Once this is resolved, we can access the first call value using data[0]
and the second call return value with data[1]
.
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025