首页 > 解决方案 > 在 JavaScript 中制造新类型的错误

问题描述

我偶尔会忘记使用 await 关键字,例如:

const foo = bar();
// instead of
const foo = await bar();

这些错误很难发现。哪些方法、库或工具可用于防止此类错误?

标签: javascriptnode.jsecmascript-6async-await

解决方案


你应该使用像 ESLint 这样的linter。如果您将该工具与您的 IDE/编辑器集成并启用默认规则集(或您自己的),它将使您的生活变得更轻松。

我很确定您的示例属于no-floating-promises规则,该规则不允许在没有适当处理的情况下使用承诺。在您的情况下bar(),返回一个承诺,但没有awaitthen处理结果。

要启用该规则,您必须安装 ESLint 和typescript-eslint 插件。我还强烈建议您使用 TypeScript 而不是 JavaScript,因为它会在开发过程中捕获一系列错误,并且您可以将 TS 代码转换为常见的 JS 代码。


推荐阅读