eslint/no-await-in-loop 性能
它做了什么
此规则禁止在循环体内部使用 await。(for、for-in、for-of、while、do-while)
为什么这是个问题?
这可能表明异步操作没有被有效并行化。 相反,它们是按顺序执行的,这可能导致性能下降。
示例
此规则的错误代码示例:
javascript
async function bad() {
for (const user of users) {
const userRecord = await getUserRecord(user); // 等待每个用户记录,逐个进行
}
}此规则的正确代码示例:
javascript
async function good() {
await Promise.all(users.map((user) => getUserRecord(user))); // 并行处理所有请求
}如何使用
要通过配置文件或命令行启用此规则,可以使用:
json
{
"rules": {
"no-await-in-loop": "error"
}
}bash
oxlint --deny no-await-in-loop