typescript - ESLint:如何在函数上找到不必要的“异步”标记?
问题描述
我想async
从不需要它的函数中删除任何修饰符。具体来说,那些既不返回承诺也没有任何await
调用的不应该被标记async
。
我知道不是每个人都可能想要这个,例如,遗留代码库可能有很多这样的调用者不值得改变。但是对于一个新的代码库,我想删除async
不需要的地方,因为这使得函数更干净,更容易测试和推理(它表明函数不依赖任何异步行为——尽管它可能仍然有异步副作用)。
其中一些很容易通过,特别是在函数中的唯一await
调用async
被分解但开发人员没有意识到函数不再需要异步的情况下。
有什么方法可以用 ESLint 或其他方式检查吗?我在网络搜索中失败了。
解决方案
这是 TS 规则:@typescript-eslint/require-await
以及原版 JS ESLint 版本:require-await
这应该可以防止任何无用async
的标记。
它正确地标记了一个简单的例子:
export async function a() {
return 1;
}
推荐阅读
- angular - 如何在 Angular 4 中上传多个图像
- symfony - 在自定义页面中创建自定义路由
- google-bigquery - Azure 数据工厂:将数据从 Google Bigquery 移动到 Azure Blob
- javascript - 如何修复 puppeteer 抓取失败
- ms-access - MS Access:计算字段比 VBA 代码慢
- java - 如果禁止使用通配符数组,我可以使用哪些类型?
- amazon-web-services - 我无法使用 AWS CLI 在 Amazon S3 中创建存储桶
- java - 无法连接到 grpc 服务器得到“第一个接收到的帧不是设置”
- watermark - 如何在我的 Migradoc 文档中使用 PDF Sharp 对象
- go - 检查是否有人读过 go 频道