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]
.
→ Get my JavaScript Beginner's Handbook
I wrote 21 books to help you become a better developer:
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- Svelte Handbook
- CSS Handbook
- Node.js Handbook
- Vue Handbook