我将JSHint用于JavaScript项目(带有Visual Studio代码).在这个项目中,我使用async/await,JSHint将其突出显示为错误.
我试图设置jshint,但"esversion"的maxim版本似乎是6.
jshint支持异步/等待吗?如果有,如何打开它?如果没有,有什么解决办法吗?
我将JSHint用于JavaScript项目(带有Visual Studio代码).在这个项目中,我使用async/await,JSHint将其突出显示为错误.
我试图设置jshint,但"esversion"的maxim版本似乎是6.
jshint支持异步/等待吗?如果有,如何打开它?如果没有,有什么解决办法吗?
Update (February 2019):Async/await现在从2.10.1版开始受支持.只需更新你的密码.jshintrc使用
"esversion": 9
.(+信息:Version changelog)
Update (july 2018):Async/await将随着JsHint 2.10.0的发布而到来+信息:https://github.com/jshint/jshint/pull/3273
JSHINT发展社区认为:
- 在开始实现ES7特性之前,JSHINT应该首先支持所有ES6语法.
- 异步函数仅处于第1阶段,因此语法可能会发生很大变化
然而,有一个unnoficial JSHINT package,其中包含experimental support for await/async,称为JSHINT-ESNEXT.
作者@marcominetti使用了官方的JSHint 2.7主分支,并介绍了这个ES7功能,它取自Seb Vincent esnextnext分支.
判断Npm Package和source in github
Installation:$npm安装-g JSNEXT
目前(2017年7月),这是在JSHINT中支持wait/async的唯一一种合适的可用方法.
一种常见的建议解决方法或缓解措施是使用JSHINT ignore指令.
// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
或者:
ignoreThis(); // jshint ignore:line
我个人认为,当我们的代码有大量异步/等待引用时,这种缓解做法既肮脏又令人困惑.但更令人困惑和肮脏的是JSHINT警告和错误;)