在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
。
只需要一个警告,以便在开发时捕获错误,而不是运行时。
答案 0 :(得分:2)
不,那是不可能的。如你所说,它需要类型推断或至少注释来决定函数是否会返回一个promise。这就像TypeScript编译器那样的类型检查器,而不是linter。