Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript ESLint:如何找到不必要的;异步;函数上的标记?_Typescript_Promise_Eslint_Typescript Eslint - Fatal编程技术网

Typescript ESLint:如何找到不必要的;异步;函数上的标记?

Typescript ESLint:如何找到不必要的;异步;函数上的标记?,typescript,promise,eslint,typescript-eslint,Typescript,Promise,Eslint,Typescript Eslint,我想从不需要它的函数中删除任何async修饰符。具体来说,那些既不返回承诺也没有任何等待调用的函数不应标记为async 我知道不是每个人都希望这样,例如,旧代码库可能有很多调用方不值得更改的代码。然而,对于一个新的代码库,我想删除不必要的async,因为这使函数更易于使用,更易于测试和推理(它表明函数不依赖任何异步行为-尽管它可能仍然有异步副作用) 其中一些很容易通过,特别是在async函数中唯一的wait调用被分解的情况下,但是开发人员没有意识到该函数不再需要异步 有没有办法用ESLint或其

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

我知道不是每个人都希望这样,例如,旧代码库可能有很多调用方不值得更改的代码。然而,对于一个新的代码库,我想删除不必要的
async
,因为这使函数更易于使用,更易于测试和推理(它表明函数不依赖任何异步行为-尽管它可能仍然有异步副作用)

其中一些很容易通过,特别是在
async
函数中唯一的
wait
调用被分解的情况下,但是开发人员没有意识到该函数不再需要异步

有没有办法用ESLint或其他方法检查这一点?我在一次网络搜索中发现不足。

以下是TS规则:

以及vanilla JS ESLint版本:

这将防止任何无用的
async
标记

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

export async function a() {
  return 1;
}