繁体   English   中英

ESLint:如何在函数上找到不必要的“异步”标记?

[英]ESLint: How to find unnecessary “async” markers on functions?

我想从不需要它的函数中删除任何async修饰符。 具体来说,那些既不返回 promise 也没有任何await调用的不应标记为async

我知道不是每个人都可能想要这个,例如,遗留代码库可能有很多这样的调用者不值得改变。 但是对于一个新的代码库,我想在不需要的地方删除async ,因为这使得 function 更清洁,更容易测试和推理(它表明 function 不依赖任何异步行为 - 尽管它可能仍然有异步副作用)。

其中一些很容易通过,特别是在async function 中唯一的await调用被排除在外的情况下,但开发人员没有意识到 function 不再需要异步。

有什么方法可以用 ESLint 或其他方式检查吗? 我在 web 搜索中遇到了不足。

这是 TS 规则: @typescript-eslint/require-await

以及原版 JS ESLint 版本: require-await

这应该可以防止任何无用的async标记。

它正确地标记了一个简单的例子:

export async function a() {
  return 1;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM