Mise à jour (février 2019) : Async/await sont maintenant supportés à partir de la version 2.10.1. Mettez simplement à jour votre .jshintrc pour utiliser "esversion": 9
. (+Info : Liste des changements de version )
Mise à jour (juillet 2018) : Async/await arrivera avec la sortie de JsHint 2.10.0. +info : https://github.com/jshint/jshint/pull/3273
La communauté de développement du JSHINT considère que :
- JSHINT devrait d'abord supporter toute la syntaxe ES6 avant de commencer à implémenter les fonctionnalités ES7.
- Les fonctions asynchrones n'en sont qu'à l'étape 1, donc la syntaxe peut beaucoup changer.
JSHINT-ESNEXT (PAQUET)
Cependant, il existe un paquet JSHINT non officiel qui contient support expérimental pour await/async appelé JSHINT-ESNEXT .
L'auteur, @ marcominetti a utilisé la branche Master officielle de JSHint 2.7 et a introduit cette fonctionnalité ES7, tirée de l'élément Seb Vincent esnextnext branche.
Vérifiez le Paquet Npm et le source dans github
Installation : $npm install -g jshint-esnext
À l'heure actuelle (juillet 2017), c'est la seule approche décente disponible pour prendre en charge await/async dans JSHINT.
JSHINT IGNORE (DIRECTIVE)
Une solution de contournement ou une pratique d'atténuation communément proposée consiste à utiliser les directives JSHINT ignore.
// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
Ou :
ignoreThis(); // jshint ignore:line
Personnellement, je trouve cette pratique d'atténuation, sale et confuse, lorsque notre code comporte une grande quantité de références async/await. Mais les avertissements et les erreurs JSHINT sont encore plus confus et sales ;)