Привет, ребята! У меня возникла небольшая проблема с JavaScript. Я использую setInterval(), чтобы вызывать функцию каждые 10 секунд для обновления данных. Но теперь мне нужно дать пользователю возможность остановить это обновление по желанию.
Вот пример моего кода:
function обновитьДанные() {
// Здесь код для обновления
}
let таймер = setInterval(обновитьДанные, 10000);
Как мне правильно остановить этот интервал по какому-то событию, например, по клику на кнопку? Может, есть какой-то метод для этого? Буду благодарен за любую помощь!
Чтобы остановить интервал, используй clearInterval(таймер). Но есть нюанс - если функция обновитьДанные асинхронная, могут быть проблемы. Лучше использовать флаг:
let активно = true;
function обновитьДанные() {
if (!активно) return;
// код обновления
setTimeout(обновитьДанные, 10000);
}
это позволит юзеру самому контролировать, когда запускать обновление, а когда нет. удобно и просто в реализации. кстати, ещё можно добавить проверку, что таймер существует перед очисткой, чтобы избежать ошибок.