Ho un pezzo di Javascript che controlla una condizione (tramite una chiamata AJAX) ogni n secondi. Se quella condizione è vera, smette di controllare. Ho implementato nel modo seguente:È OK chiamare clearInterval all'interno di un gestore di setInterval?
var stopTimer;
var timerId = setInterval(function() {
/* Make Ajax Calls and set stopTimer */
if (stopTimer) {
clearInterval(timerId);
}
}, 10000);
Tuttavia, ritengo che il comportamento irregolare: a volte funziona, ma altre volte, mantiene il controllo per sempre. Ho controllato che (per quanto possibile) non ci siano errori in nessuna parte del codice.
Sono quindi sospettando che chiamare clearInterval all'interno di un gestore di setInterval potrebbe essere il colpevole. È giusto? È corretto chiamare clearInterval all'interno di un gestore di setInterval?
Grazie per l'attenzione
Grazie. Verificherà e condividi i risultati –