Зупинка виклику setInterval в JavaScript

Я використовую setInterval(fname, 10000); для виклику функції кожні 10 секунд в JavaScript. Чи можна припинити її виклик при настанні якоїсь події?

Я хочу, щоб користувач мав можливість зупинити багаторазове оновлення даних.

Рішення

setInterval() повертає ідентифікатор інтервалу, який можна передати в clearInterval():

var refreshIntervalId = setInterval(fname, 10000);

/* later */
clearInterval(refreshIntervalId);

Дивіться документацію по setInterval() і clearInterval().

Коментарі (9)

Якщо ви встановили значення повернення setInterval на змінну, ви можете використовувати clearInterval для його зупинки.

var myTimer = setInterval(...);
clearInterval(myTimer);
Коментарі (0)

Ви можете встановити нову змінну і збільшити її на ++ (збільшити на одиницю) кожного разу, коли вона виконується, тоді я використовую умовний оператор, щоб завершити її:


var intervalId = null;
var varCounter = 0;
var varName = function(){
     if(varCounter 
Коментарі (10)