ESLint avertissement ES6 cohérente-le retour de la règle
- Je obtenir une ESLint avertissement:
Devrait renvoyer une valeur d'art de la fin de la flèche de la fonction ( ce qui est conforme-retour)
errors.details.forEach((error) => {
const errorExists = find(errObj, (item) => { //<== ESLint warning
if (item && item.field === error.path && item.location === location) {
item.messages.push(error.message);
item.types.push(error.type);
return item;
}
});
if (!errorExists) {
errObj.push({
field: error.path,
location: error.location,
messages: [error.message],
types: [error.type]
});
}
});
Cependant si j'insère un retour
const errorExists = find(errObj, (item) => { //<== ESLint warning
if (item && item.field === error.path && item.location === location) {
item.messages.push(error.message);
item.types.push(error.type);
return item;
}
return; //<== inserted return
});
Alors pas plus d'avertissement sur cette ligne , mais puis-je obtenir 2 avertissements sur le insérée retour ...
Flèche de la fonction attend un retour de la valeur (constante-retour)
Inutile instruction de retour (pas-inutile-retour)
Je ne vois pas comment résoudre correctement ce problème ..
tous les commentaires de bienvenue
Le
find
callback doit toujours renvoie une valeur booléenne. Ni item
ni undefined
.
OriginalL'auteur | 2017-05-14
Vous devez vous connecter pour publier un commentaire.
http://eslint.org/docs/rules/consistent-return dit:
Lors de votre si-condition n'est pas remplie, la flèche en fonction de résilier sans rencontrer une instruction return, qui viole cette règle. Votre deuxième version viole cette règle, parce que votre second retour ne spécifie pas de valeur, contrairement à la première déclaration. La deuxième avertissement vous indique que votre demande de retour est redondant.
De faire le linter heureux, vous devez probablement penser à quoi retourner correctement à partir de la flèche en fonction de si la condition n'est pas remplie. Je ne sais pas quoi trouver votre fonction fait exactement, mais si il se comporte de façon similaire à la Matrice.le prototype.trouver vous pouvez retourner false à la fin de la flèche en fonction. Si vous avez besoin de retourner indéfini dans ce cas, ce paragraphe à partir de la même page s'applique:
EDIT: je l'ai déjà écrit pour avoir un coup d'oeil à l'option
treatUndefinedAsUnspecified
, mais il semble que ce soit le réglage ne sera pas vous aider si vous avez besoin de retourner pas défini dans l'une de ces branches.comment désactiver la règle?
OriginalL'auteur JayK
le retour est correctement insérée, cependant, sa valeur doit être donnée ...
est la valeur correcte
OriginalL'auteur