我偶尔会忘记使用await关键字,例如:
const foo = bar();
// instead of
const foo = await bar();
这些错误很难发现。可以使用哪些方法,库或工具来防止此类错误?
您应该使用像ESLint这样的短绒。如果您将该工具与IDE / Editor集成在一起,并且启用了默认规则集(或您自己的规则集),它将使您的工作变得更加轻松。
我很确定您的示例属于规则no-floating-promises,该规则禁止在没有适当处理的情况下使用Promise。在您的情况下,bar()
返回一个承诺,但没有await
或then
来处理结果。
要启用该规则,您必须安装ESLint以及typescript-eslint插入。我也强烈建议您在JavaScript上使用TypeScript,因为它会在开发过程中捕获一系列错误,并且您可以将TS代码转换为普通的JS代码。