Member-only story
The Power and Limitations of JavaScript Promise.all
The power of parallel when writing asynchronous JavaScript — and the traps to look out for!

In many web development projects, important functionality depends on asynchronous code — whether that’s making HTTPS requests to an API, querying and updating a database, or managing time-sensitive tasks like reading large files.
But are you making sure that your asynchronous code is optimised to run as efficiently as possible?
When I was newer to asynchronous JavaScript, I would often await
every promise without realising that I was creating unnecessary bottlenecks in my code. Once I understood some of the benefits of Promise.all
, I went through a stage of using it too much. In specific scenarios, my code became inconsistent because I was trying to do things in parallel that affected one another, and the task that happened first was whichever one was fastest!
In this article, we’ll look into the power of parallel while also being mindful of the dangers of using Promise.all
too liberally.
How Promise.all Works
We’ll start with a basic example. First, we’ll create an array of numbers from 1
to 100
:
const nums = new…