javascript - 在没有 TypeScript 的情况下调用不带 `.then()` 或 `await` 的异步函数的 Lint 警告

标签 javascript node.js async-await eslint

在 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/

相关文章:

c# - Entity Framework 核心 (7) : load single entity by id

javascript - 我将如何用图像填充矩形?

java - JSP 的 Catch block 中的警报消息

javascript - 从下拉列表中选择较大的值

Node.js NTLM HTTP 身份验证,如何处理这 3 种类型

javascript - 捕获多个异步错误

javascript - AJAX:设置innerHTML后获取请求?

node.js - 无法使用 Admin SDK Firebase 获取用户列表

c++ - 通过Tor服务的C++ socket.io客户端

javascript - 使用 promise 中的值的异步函数