@habrdima

Как синхронно выполнить код через интервал с новыми данными?

например есть код
for(var i = 0; i<5; i++){
setTimeout(function(){
alert(i)
}, 1000)
}

я хочу что бы по циклу, через каждую секунду выводилась новая информация, делалась какая то работа, как это сделать? этот код естественно этого не может
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 2
qork
@qork
{ background: #F00B42 }
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Простейший пример асинхронного цикла выглядит так:
var i = 0; //инициализация
!function next(exit) {
  if(i >= 5) return exit(); //выход из цикла, в отличии от цикла for проверяем обратное условие

  //выполняем что-то в цикле
  alert(i);

  //обновляем счетчик и запускаем следующую итерацию, в нашем случае она будет обернута в setTimeout
  i++;
  setTimeout(next, 1000, exit);
}(function() {
  //здесь пишем код, который должен выполняться по завершении цикла
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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