Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.03.2016, 20:05
Новичок на форуме
Отправить личное сообщение для Emolum Посмотреть профиль Найти все сообщения от Emolum
 
Регистрация: 11.03.2016
Сообщений: 4

timeOut в цикле
Добрый вечер,
Подскажите, плз, почему может не срабатывать вызов функции через таймаут в цикле:

while(1>0){
setTimeout('combat(op1,op2)',1000);
}

Если прописываю отдельно таймаут - все работает.
Просьба сильно не пинать.
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2016, 20:24
Кандидат Javascript-наук
Отправить личное сообщение для yazonnile Посмотреть профиль Найти все сообщения от yazonnile
 
Регистрация: 25.05.2012
Сообщений: 133

потому что цикл бесконечный
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2016, 20:25
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

В цикле запускается бесконечное количество settimeout, которые тормозят друг друга до полной остановки
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2016, 20:36
Новичок на форуме
Отправить личное сообщение для Emolum Посмотреть профиль Найти все сообщения от Emolum
 
Регистрация: 11.03.2016
Сообщений: 4

Сообщение от Dilettante_Pro Посмотреть сообщение
В цикле запускается бесконечное количество settimeout, которые тормозят друг друга до полной остановки
Можно обойти?
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2016, 21:02
Новичок на форуме
Отправить личное сообщение для Emolum Посмотреть профиль Найти все сообщения от Emolum
 
Регистрация: 11.03.2016
Сообщений: 4

Поясню:
В конце цикла выводится информация в консоль, нужно чтобы она выводилась не вся сразу, а с интервалами между циклами.
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2016, 07:35
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Запускаемые в цикле settimeout работают не последовательно , а параллельно, все обновременно. Задержка - не снаружи, а для запуска функции, которая внутри. Так что думайте в другом направлении - запуск не в цикле, следующий запуск - из внутренней функции. Только не забудьте добавить условие выхода из рекурсии

Последний раз редактировалось Dilettante_Pro, 12.03.2016 в 08:34.
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2016, 17:26
Новичок на форуме
Отправить личное сообщение для Emolum Посмотреть профиль Найти все сообщения от Emolum
 
Регистрация: 11.03.2016
Сообщений: 4

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery autocomplete не работает в цикле t.soyuzova jQuery 7 02.12.2015 16:00
Таймер до требуемой даты в цикле Drugpunker Events/DOM/Window 22 21.03.2014 08:52
не исполнять дальнейший код пока не сработает timeout dannogo Общие вопросы Javascript 5 13.03.2014 18:16
setTimeout в цикле Skoldin Общие вопросы Javascript 10 28.11.2013 16:16
popup окно в PHP цикле ryobi522 Общие вопросы Javascript 5 10.02.2012 02:18