Как остановить таймер js
Откуда программа знать будет, когда мне надо таймер остановить? Нашёл ответ у господина Трепачёва Д.
Для отметы таймера, запущенного с помощью setTimeout()
, есть специальная функция clearTimeout()
. Она принимает на вход идентификатор таймаута, который возвращает setTimeout() и останавливает таймер (переданный колбэк не выполнится).
// запускаем таймер
const timerId = setTimeout(() => console.log('hello!'), 1000);
// останавливаем таймер
clearTimeout(timerId);
Для отмены интервала, запущенного с помощью setInterval()
, есть схожая функция clearInterval()
// запускаем интервал
const timerId = setInterval(() => console.log('hello!'), 1000);
// останавливаем
clearInterval(timerId);
Не смотря на то, что функции clearTimeout()
и clearInterval()
, рабоают схожим образом и взаимозаменяемы, всё же лучше использовать каждую функцию по своему назначению, то есть с помощью clearTimeout()
останавливать таймаут, а clearInterval()
останавливать интервал.