# How would you run this async loop in sequence?

**URL:** <https://forum.kirupa.com/t/how-would-you-run-this-async-loop-in-sequence/679731>\
**Category:** web dev\
**Created:** [March 31, 2026, 1:00am UTC](https://forum.kirupa.com/t/how-would-you-run-this-async-loop-in-sequence/679731 "2026-03-31T01:00:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sora](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sora/32/31259_2.png) [@sora](https://forum.kirupa.com/u/sora)\
**Post date:** [March 31, 2026, 1:00am UTC](https://forum.kirupa.com/t/how-would-you-run-this-async-loop-in-sequence/679731/1 "2026-03-31T01:00:06Z")

</div>

Consider this snippet.

```javascript
ids.forEach(async (id) => {
  await fetchUser(id);
});
console.log('done');

```

Why is this not sequential, and what simple loop should replace it.

Sora

---

<div class="post-metadata">

**Author:** ![BobaMilk](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/bobamilk/32/31157_2.png) [@BobaMilk](https://forum.kirupa.com/u/BobaMilk)\
**Post date:** [March 31, 2026, 1:07am UTC](https://forum.kirupa.com/t/how-would-you-run-this-async-loop-in-sequence/679731/2 "2026-03-31T01:07:06Z")

</div>

`forEach` does not wait for async callbacks, so use `for...of` with `await` if you want one-by-one, and `console.log('done')` after the loop.

BobaMilk 😊
