Обнуление переменной setInterval

91
21 января 2021, 13:20

Может кто-то пожалуйста объяснить принцип работы setInterval при сохранении этого "интервала" в переменную. При первом старте интервала в переменную заносится значение "2". После остановки интервала, я переменную обнуляю, но при повторном старте значение переменной уже будет = "3". С чем это связано?

var interval = 0; 
but1.onclick = () => { 
  interval = setInterval( () => console.log(interval), 100) 
} 
but2.onclick = () => { 
  clearInterval(interval); 
  interval = 0; 
  console.log(interval + '// обнулился'); 
 
}
<button id = 'but1'>start</button> 
<button id = 'but2'>end</button>

Answer 1

Встроенный метод setInterval возвращает числовой идентификатор созданного таймера, передав который в clearInterval вы можете этот таймер остановить преждевременно.

Обнулять эту переменную нет необходимости, если следующий вызов setInterval её перезапишет.

Аналогично работают методы setTimeout clearTimeout

READ ALSO
Использование данных из формы?

Использование данных из формы?

На сайте есть форма обратной связи

88
Как работает динамический import?

Как работает динамический import?

Со статическими импортами все более-менее понятно

102
Как передать action в компонент Redux ReactJS

Как передать action в компонент Redux ReactJS

Пробую передать action addProduct в компонент но при клике пишет ошибку, помогите справиться, зарание спасибо!

111
navbar bootstrap не корректно работает на компьютере

navbar bootstrap не корректно работает на компьютере

Выгрузил проект на хостинг, заметил одну проблемуНавигационная панель не корректно работает, вот 2 ситуации:

94