Как сделать задержку в цикле javascript?

Пользователь

от jorge , в категории: JavaScript , 3 года назад

Как сделать задержку в цикле javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kenya , 3 года назад

@jorge Вы можете использовать setTimeout в цикле на Javascript, пример:


1
2
3
4
5
6
for (let i = 1; i < 10; i++) {
  console.log("Без задержки номер: " + i);
  setTimeout(() => {
    console.log("Сообщение с задержкой 3 секунды");
  }, 3000);
}


Пользователь

от jaylen.trantow , 2 года назад

@jorge 

В JavaScript есть функция setTimeout, которая позволяет выполнить функцию через указанное количество миллисекунд. Вот пример того, как использовать setTimeout для того, чтобы сделать задержку в цикле:

1
2
3
4
5
for (let i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i);
  }, i * 1000);
}


Этот код выведет числа от 0 до 4 с задержкой в 1 секунду между каждым числом. Если вы хотите сделать задержку в начале цикла, а не в конце, вы можете перенести функцию setTimeout внутрь цикла:

1
2
3
4
5
for (let i = 0; i < 5; i++) {
  setTimeout(function() {
    console.log(i);
  }, 1000);
}


Этот код выведет числа от 0 до 4 с задержкой в 1 секунду в начале каждой итерации цикла. Обратите внимание, что в первом примере задержка увеличивается с каждой итерацией, в то время как во втором примере задержка остается постоянной.