Skip to content

eslint/no-await-in-loop Perf ​

What it does ​

This rule disallows the use of await within loop bodies. (for, for-in, for-of, while, do-while).

Why is this bad? ​

It potentially indicates that the async operations are not being effectively parallelized. Instead, they are being run in series, which can lead to poorer performance.

Example ​

Examples of incorrect code for this rule:

javascript
async function bad() {
  for (const user of users) {
    const userRecord = await getUserRecord(user);
  }
}

Examples of correct code for this rule:

javascript
async function good() {
  await Promise.all(users.map((user) => getUserRecord(user)));
}

References ​

Released under the MIT License.