我将 JSHint 用于 JavaScript 项目(使用 Visual Studio Code)。在这个项目中,我使用了 async / await,JSHint 将其突出显示为错误。
我尝试设置 jshint,但似乎“esversion”的最大版本是 6。
jshint 是否支持异步/等待?如果可以,如何开启?如果没有,是否有任何解决方法?
原文由 Alena Gilevskaya 发布,翻译遵循 CC BY-SA 4.0 许可协议
我将 JSHint 用于 JavaScript 项目(使用 Visual Studio Code)。在这个项目中,我使用了 async / await,JSHint 将其突出显示为错误。
我尝试设置 jshint,但似乎“esversion”的最大版本是 6。
jshint 是否支持异步/等待?如果可以,如何开启?如果没有,是否有任何解决方法?
原文由 Alena Gilevskaya 发布,翻译遵循 CC BY-SA 4.0 许可协议
jshint 是否支持异步/等待?
不,截至 2017 年初还没有。
它似乎还不支持 async/await
。从事 jsHint 工作的人们已经决定不支持 async/await
直到标准处于后期阶段(显然之前因为在它们仍在变化时过早地支持它们而被烧毁) - 尽管实现已经存在(Babel,nodejs, ETC…)。
如果您关注此 jsHint 未决问题线程,截至 7 天和 11 天前的最新评论,它仍然是一个未决问题。
如果没有,是否有任何解决方法?
截至 2017 年 7 月,似乎有一个名为 jshint-esnext 的 jsHint 代码的分支,它在此处支持异步/等待: https ://www.npmjs.com/package/jshint-esnext。
原文由 jfriend00 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
JSHINT 开发社区认为:
JSHINT-ESNEXT(包)
然而,有一个非官方的 JSHINT 包,其中包含 _对 await/async 的实验性支持_,称为 JSHINT-ESNEXT 。
作者 @marcominetti 使用了官方的 JSHint 2.7 Master 分支并引入了这个 ES7 特性,取自 Seb Vincent esnextnext 分支。
检查 Npm Package 和 github 中的源代码
现在(2017 年 7 月),这是在 JSHINT 中支持等待/异步的唯一可用方法。
JSHINT 忽略(指令)
一个常见的建议解决方法或缓解措施是使用 JSHINT 忽略指令。
或者:
当我们的代码有大量异步/等待引用时,我个人觉得这种缓解措施很脏而且很混乱。但更令人困惑和肮脏的是 JSHINT 警告和错误 ;)