Disons que j'ai un essentiellement je interrogeons un point final toutes les 3 secondes. Une fois que le Comment puis-je réaliser cela? P> p> CheckStatus () CODE> méthode déclenchée après une réponse à un point final réussi. À l'intérieur, il existe un
seinterval code> comme:
res.status code> devient
vrai code>, je veux effacer l'intervalle. Le composant est toujours là et n'a pas encore démontré. P>
4 Réponses :
Fondamentalement, vous devez affecter une valeur code> à la fonction setingerval code> et effacez-la dans votre rappel:
checkStatus() {
const intervale = setInterval(() => {
client
.query({
query,
variables,
})
.then(res => {
if (res.status) {
console.log("FINISHED!");
clearInterval(intervale)
}
});
}, 3000);
}
juste intervalle clair dans votre condition de contrôle.
Exemple: P>
checkStatus() { const interval = setInterval(() => { client .query({ query, variables, }) .then(res => { if (res.status) { console.log("FINISHED!"); clearInterval(interval) } }); }, 3000); }
Vous devez d'abord stocker la référence renvoyée par
Attribuez une variable à l'intervalle et effacez l'intervalle en fonction de la condition
Utilisez
ClearInterval () CODE> Comme expliqué ici développeur. Mozilla.org/de/docs/web/api/windowtimers/setInterv al