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, download them all at $0 cost by joining my newsletter
→ 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