javascript - 在 JavaScript 中制造新类型的错误
问题描述
我偶尔会忘记使用 await 关键字,例如:
const foo = bar();
// instead of
const foo = await bar();
这些错误很难发现。哪些方法、库或工具可用于防止此类错误?
解决方案
你应该使用像 ESLint 这样的linter。如果您将该工具与您的 IDE/编辑器集成并启用默认规则集(或您自己的),它将使您的生活变得更轻松。
我很确定您的示例属于no-floating-promises规则,该规则不允许在没有适当处理的情况下使用承诺。在您的情况下bar()
,返回一个承诺,但没有await
或then
处理结果。
要启用该规则,您必须安装 ESLint 和typescript-eslint 插件。我还强烈建议您使用 TypeScript 而不是 JavaScript,因为它会在开发过程中捕获一系列错误,并且您可以将 TS 代码转换为常见的 JS 代码。
推荐阅读
- angularjs - 当我尝试在 html 中包含缓存的模板时,Angular $templatecache 不起作用
- sql - SQL Logic - 涉及带有 Group By 子句的 Update 语句的逻辑
- node.js - Jasmine + Karma + 伊斯坦布尔测试:自我和/或窗口未定义
- bash - Powershell 是否具有与 bash 子shell 等效的功能?
- ios - 为什么在创建领域数据模型时需要必需的初始化程序?
- netsuite - Netsuite:使用套件脚本在项目子列表上添加自定义列
- haskell - foldl' 和 foldr' 的默认定义看起来很奇怪
- android - 由 java.lang.IllegalStateException 引起:无法为分离的片段创建 ViewModelProvider
- ios - Firebase MLKit 文本识别错误
- arrays - 如何将过滤器应用于以下代码?