Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 JSHint是否支持异步/等待?_Javascript_Node.js_Visual Studio Code_Jshint - Fatal编程技术网

Javascript JSHint是否支持异步/等待?

Javascript JSHint是否支持异步/等待?,javascript,node.js,visual-studio-code,jshint,Javascript,Node.js,Visual Studio Code,Jshint,我将JSHint用于JavaScript项目(带有VisualStudio代码)。在这个项目中,我使用async/await,JSHint将其突出显示为错误 我试图设置jshint,但“esversion”的maxim版本似乎是6 jshint支持异步/等待吗?如果有,如何打开它?如果没有,有什么解决办法吗 jshint支持异步/等待吗 不,到2017年初还没有 它似乎还不支持async/await。从事jsHint工作的人们决定不支持async/await,直到标准处于后期阶段(之前显然是因为

我将JSHint用于JavaScript项目(带有VisualStudio代码)。在这个项目中,我使用async/await,JSHint将其突出显示为错误

我试图设置jshint,但“esversion”的maxim版本似乎是6

jshint支持异步/等待吗?如果有,如何打开它?如果没有,有什么解决办法吗

jshint支持异步/等待吗

不,到2017年初还没有

它似乎还不支持
async/await
。从事jsHint工作的人们决定不支持
async/await
,直到标准处于后期阶段(之前显然是因为支持东西太早而被烧掉了,当时它们还在变化)——尽管实现已经存在(Babel、nodejs等)

如果你遵循这一点,从7日和11日前的评论来看,这仍然是一个悬而未决的问题

如果没有,有什么解决办法吗


截至2017年7月,似乎有一个名为jsHint esnext的jsHint代码分支,在这里支持async/await:。

OP询问它是否有任何解决方法。这是一个难题,但我已经用“async/**/”和“await/**/”替换了所有的“async”或“await”。然后,通过一个快速脚本将它们交换为“/*async*/”和“/*await*/”允许我使用jshint进行检查

它不漂亮,但它喂牛头犬

更新(2019年2月):从2.10.1版开始,现在支持异步/等待。只需更新.jshintrc以使用
“esversion”:9
。(+信息:)


更新(2018年7月):Async/await将随着JsHint 2.10.0的发布而推出+信息:


JSHINT开发社区认为:

  • 在开始实现ES7特性之前,JSHINT应该首先支持所有ES6语法
  • 异步函数仅处于第1阶段,因此语法可能会发生很大变化

JSHINT-ESNEXT(包) 然而,有一个非官方的JSHINT包,其中包含对wait/async的实验性支持,名为JSHINT-ESNEXT

作者@使用了官方的JSHint 2.7主分支,并介绍了该分支的ES7特性

检查,以及

安装:$npm安装-g jshint esnext

目前(2017年7月),这是在JSHINT中支持wait/async的唯一可行方法


JSHINT忽略(指令) 一种常见的建议解决方法或缓解实践是使用JSHINT ignore指令

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
或:


我个人认为,当我们的代码有大量的异步/等待引用时,这种缓解实践既肮脏又令人困惑。但更令人困惑和肮脏的是JSHINT警告和错误;)

注意:使用“接受答案”中建议的分叉JSHINT-ESNEXT包(、和),需要设置“实验”选项

/*实验:[asyncwait]*/

/*实验:[asyncawait,asyncreqawait]*/


有关详细信息,请参阅源代码。

可能只需使用ESLint!谢谢Colix,这很有帮助。但是现在(2018年4月)呢?jshint中是否支持异步?如何实际使用jshint esnext?安装后,您是否能够像
jshint esnext myscript.js
那样使用它?因为这对我不起作用。要使用JS的最后一个功能,我建议使用eslint而不是jshint。
ignoreThis(); // jshint ignore:line