Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
Javascript Lint警告,用于调用不带“.then()”的异步函数或不带TypeScript的“await”_Javascript_Node.js_Async Await_Eslint - Fatal编程技术网

Javascript Lint警告,用于调用不带“.then()”的异步函数或不带TypeScript的“await”

Javascript Lint警告,用于调用不带“.then()”的异步函数或不带TypeScript的“await”,javascript,node.js,async-await,eslint,Javascript,Node.js,Async Await,Eslint,在TypeScript中,如果开发人员正在同步调用异步函数,则可以检查并警告开发人员 对于那些希望减少开销并使用node.js v9.0+的人,如果我们有类似的东西,是否可以让任何linter给我们一个警告 async function foo() { return; } var result = foo(); // warning right here because there is no await 原因是,除非我们明确地将函数命名为fooancy,研究实现,或者假设所有内容都是异

在TypeScript中,如果开发人员正在同步调用
异步
函数,则可以检查并警告开发人员

对于那些希望减少开销并使用node.js v9.0+的人,如果我们有类似的东西,是否可以让任何linter给我们一个警告

async function foo() {
  return;
}

var result = foo(); // warning right here because there is no await
原因是,除非我们明确地将函数命名为
fooancy
,研究实现,或者假设所有内容都是异步的,否则函数是否返回承诺/is wait显然不是问题。或者开发人员搞砸了,忘了写
wait


只需要一个警告,在开发时捕获错误,而不是在运行时捕获错误。

不,这是不可能的。正如您所说,它需要类型推断或至少是注释来决定函数是否返回承诺。这是像TypeScript编译器这样的类型检查器所做的,而不是一个linter。

不知道为什么你会想要这样,当有大量的承诺用例时……也许我没有正确地编写我的问题。你是说不要使用async/await和Promise模式吗?
async/await
只是糖
async
函数会自动返回承诺,如果需要,可以在不等待承诺的情况下使用承诺。你为什么要限制你的灵活性?@JaredSmith我想重点是,
tslint
可以在承诺没有得到正确处理时发出警告,op正在寻找在使用node.js和javascript(而不是node.js和typescript)时可以发出警告的东西。但是typescript是否存在这种情况?如果是,在哪里(例如在eslint中)?@slhck typescript eslint确实有规则
没有浮动承诺
起作用。你想用这个来修正你的答案吗?