Как заставить итерацию в цикле выполнять 1сек?

Всем привет.

Есть масив в числами.

var failedCount = [12, 23, 45];

Это время, через которое должно вывести сообщение. Т.е. через 12, 23 и 45 секунд. Я использовал цикл что бы записать каждое значение в переменную, и ее в последствии использовать. Но цикл выполняется моментально, вот код:

function go(fc) {
    for (var i = 0; i < fc.length; i++) {
        var time = fc[i],
            k = 0;
        (function () {
            if (k < time) {
                setTimeout(function () {
                    ypala(time);
                }, 1000 * (k + 1));
            }
        })(i);
    }
}
go(failedCount);

function ypala(fc) {
    console.log('The 1st mistake occurred when he jumped ' + fc + ' times.');
}


Как только я запуская скрипт, в консоле сразу вылетает:
(3) The 1st mistake occurred when he jumped 45 times.
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
У вас k = 0 и нигде не меняется.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы