Je veux écrire une condition ! AUTH_DISABLED une seule fois comment l'implémenter?
if (
(graphqlErrors && graphqlErrors.message.contains("401") && !AUTH_DISABLED) ||
(networkError && networkError.statusCode === 401 && !AUTH_DISABLED)
){
session.login()
}
3 Réponses :
Déplacer votre condition dans un autre if ou simplement concaténer avec l'opérateur && :
if (!AUTH_DISABLED && (
(graphqlErrors && graphqlErrors.message.contains("401")) ||
(networkError && networkError.statusCode === 401)
)
){
session.login()
}
Essayez ceci:
if (!AUTH_DISABLED && (graphqlErrors && graphqlErrors.message.contains("401")) ||
(networkError && networkError.statusCode === 401)){
session.login()
}
Peut-être lancer des erreurs ou faire quelque chose d'autre, plus tard, vous pourriez rencontrer des problèmes si vous ne les gérez pas. xD
if (!AUTH_DISABLED && graphqlErrors && networkError ) {
const graphqlErrors_401 = graphqlErrors.message.contains("401")
const networkError_401 = networkError.statusCode
if (graphqlErrors_401 || networkError_401 === 401) {
session.login()
} else { // throw error or do something else
}
} else { // do something else when auth is disabled
}
graphqlErrors && graphqlErrors_401 - vous vérifiez si graphqlErrors est valide après l'avoir utilisé graphqlErrors.message.contains ("401") < / code>. Cela provoquera une erreur si graphqlErrors est null ou undefined ou false (ou quoi que ce soit d'autre).
C'est vrai, je vais le changer