Задать вопрос
@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?
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 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);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
23 янв. 2025, в 12:21
90000 руб./за проект
23 янв. 2025, в 12:08
10000 руб./за проект
23 янв. 2025, в 12:07
20000 руб./за проект