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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект