@MihailDonskoy

Как реализовать добавление элемента в массив с задержкой через setTimeout в цикле while?

var arr = [];
var fib = 1;
var sum = 0;
function foo(start,finish){
    while(sum<=finish){
        sum = start + fib;
        start = fib;
        fib = sum;
        if(sum<=finish){
            arr.push(fib);
        }
    }
    console.log(arr);
}
foo(0,10000);
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
var arr = [];
var fib = 1;
var sum = 0;
var timer;
function foo(start,finish){
   timer = setInterval(function(){
        // вычисления
       if(условие) arr.push(....);
       else clearInterval(timer); // отключаем таймер.
    }, 1000);
}

Функция работает асинхронно, то есть исполнение последовательного кода будет продолжено до ее завершения. Если нужно отловить ее завершение , добавьте колбек или оберните в промис.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 19:51
15000 руб./за проект
22 нояб. 2024, в 19:15
200000 руб./за проект
22 нояб. 2024, в 18:50
30000 руб./за проект