Привет. Допустим, есть код:
let interval = setInterval(() => doSomething(), 3000);
Чтобы остановить исполнение setInterval, нужно сделать clearInterval(interval);
Вопрос: а как, собственно, определить, работает ли ещё setInterval, или он уже прекратил свою работу?
console.log(interval) что во время работы, что уже после clearInterval показывает одно и то же число - 69. После перезагрузки страницы оно может измениться.
Ответ
let interval = setInterval(() => doSomething(), 3000);
// interval - принимает id интервала (генерируется случайно, любое целое число > 0)
На сколько мне известно, отслеживать можно только одним способом:
let intervalID = setInterval(function(){}, 1000);
setTimeout(function() {
clearTimeout(intervalID); // Отменяем
intervalID = null; // Следом задаем id значение false/null/undefined/0 (кому как нравится)
}, 3000);
// Просто для вывода состояния
const statusIntervalID = setInterval(function() {
if(intervalID) { // Проверяем активен ли интервал
console.log('Interval is active');
} else {
clearInterval(statusIntervalID);
console.log('Interval cleared');
}
}, 500);
Комментариев нет:
Отправить комментарий