@GeorgeKay

Почему не срабатывает clearTimeout?

printNumbers(1, 5);

function printNumbers(from, to) {
  let current = from;
  let timerId = setTimeout( function go() {
    console.log(current);

    if (current == to) clearTimeout(timerId);
    current++;
    console.log(`current: ${current}`);
    setTimeout(go, 1000);
  }, 1000 )
}

Почему рекурсия не завершается, когда current == to?
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
printNumbers(1, 5);

function printNumbers(from, to) {
  let current = from;
  let timerId = setTimeout(function go() {
    timerId = setTimeout(go, 1000);

    console.log(`current: ${current}`);
    
    if (current === to) {
      clearTimeout(timerId);
    }
    
    current++;
  }, 1000);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы