在 TypeScript 中,可以检查并警告开发人员是否正在同步调用 async
函数。
对于那些希望减少开销并使用 node.js v9.0+ 的人来说,如果我们有这样的事情,是否可以让任何 linter 给我们一个警告?
async function foo() {
return;
}
var result = foo(); // warning right here because there is no await
原因是,除非我们明确地将其命名为 fooAsync
,查看实现,或者假设一切都是异步的,否则函数是否正在返回 promise/is await 并不明显。或者可能是开发人员搞砸了,忘了写 await
。
只想要一个警告以在开发时而非运行时捕获错误。
最佳答案
不,那是不可能的。正如您所说,它需要类型推断或至少需要注释来决定一个函数是否会返回一个 promise 。这就是像 TypeScript 编译器这样的类型检查器所做的,而不是 linter。
关于javascript - 在没有 TypeScript 的情况下调用不带 `.then()` 或 `await` 的异步函数的 Lint 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50047487/