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]
.