Задать вопрос
@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?
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
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);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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