Alexander Obregon's Substack

Share this post

User's avatar
Alexander Obregon's Substack
Why JavaScript forEach Doesn't Wait for Promises
Copy link
Facebook
Email
Notes
More

Why JavaScript forEach Doesn't Wait for Promises

A look at how async logic breaks inside forEach

Alexander Obregon's avatar
Alexander Obregon
May 23, 2025
∙ Paid

Share this post

User's avatar
Alexander Obregon's Substack
Why JavaScript forEach Doesn't Wait for Promises
Copy link
Facebook
Email
Notes
More
Share

Why JavaScript forEach Doesn’t Wait for Promises

Image Source

Many JavaScript developers bump into a strange issue at some point. They try using forEach with an async function, expecting it to wait on each await inside. Instead, it blows through the array instantly. This isn’t a bug or a quirk, it’s doing exactly what it was built to do. The way forEach works behind the scenes just doesn’t match how asynchronous code flows. To run asynchronous logic over arrays the way you want, you need to know how these pieces fit together.

How forEach Actually Works

The way forEach runs is clean and fast, but that speed can get in the way if you're working with anything asynchronous. You pass in a function, and it runs once per item in your array. But there’s no pause between those runs, no waiting, no promises tracked.

It Calls Your Function, Then Moves On

The forEach method doesn’t care what your function returns. It doesn’t pause to check if it’s waiting on something. It just loops through each value and calls the function with that value. If your callback is asynchronous, forEach still moves straight to the next one without waiting for the previous to finish.

Here’s a clear look:

This prints:

Keep reading with a 7-day free trial

Subscribe to Alexander Obregon's Substack to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Alexander Obregon
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More