await-thenable
禁止等待非 Thenable 值。
✅
在 "plugin:@typescript-eslint/recommended-type-checked"
中扩展 ESLint 配置 将启用此规则。
💡
此规则报告的一些问题可以通过编辑器 建议 手动修复。
💭
此规则需要 类型信息 才能运行。
“Thenable” 值是一个具有 then
方法的对象,例如 Promise。await
关键字通常用于检索调用 Thenable 的 then
方法的结果。
如果 await
关键字用于非 Thenable 值,则该值将立即直接解析。虽然这样做是有效的 JavaScript,但它通常是程序员错误,例如忘记添加括号来调用返回 Promise 的函数。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/await-thenable": "error"
}
};
在游乐场中尝试此规则 ↗
示例
- ❌ 错误
- ✅ 正确
选项
此规则不可配置。
何时不使用它
如果您想允许代码 await
非 Promise 值。例如,如果您的框架正在从一种异步代码风格过渡到另一种风格,那么包含不必要的 await
可能有用。这通常不是首选,但有时对于视觉一致性可能有用。您可以考虑使用 ESLint 禁用注释 来处理这些特定情况,而不是完全禁用此规则。
类型检查的 lint 规则比传统的 lint 规则更强大,但也需要配置 类型检查的 lint。如果您在启用类型检查规则后遇到性能下降,请参阅 性能故障排除。