Хорошо, спасибо за комментарий, я не знал, что он работает с функцией в качестве первого параметра.

у запустить следующий код:

ajaxUpdate(10);

С задержкой в ​​1 секунду между каждой итерацией. Как я могу это сделать?

 epascarello20 янв. 2009 г., 16:14
Надеюсь, что ваш сервер может справиться с избиением. :)

Ответы на вопрос(6)

Вы можете использоватьsetInterval() для этого. Создайте анонимную функцию для вызова и используйте время в миллисекундах:

var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000);
 Click Upvote20 янв. 2009 г., 09:50
мне нужно использовать var myInterval = ... или я могу просто вызвать код справа от =, и он будет работать?
 Greg20 янв. 2009 г., 09:48
Обновлено - спасибо @gs
 Georg Schölly20 янв. 2009 г., 09:43
Вы должны использовать window.setInterval () вместо только setInterval ()
 Greg20 янв. 2009 г., 09:51
Вам нужно только "var myInterval =", если вы хотите остановить его снова в какой-то момент
 Már Örlygsson20 янв. 2009 г., 09:52
Это будет работать без назначения, но, как объясняет Кент Фредрик в своем ответе, назначение дает вам возможность отменить интервал в более позднее время.

Integer delay). Например, для выполнения вашего кода каждую секунду вы можете сделать:

window.setTimout("ajaxUpate",100);

Надеюсь я отвечу на ваш вопрос;)

 Kent Fredric20 янв. 2009 г., 09:43
Использование строк настоятельно не рекомендуется, это слишком неоднозначно.
 damdec20 янв. 2009 г., 09:43
Ой, все отвечают в одну минуту!
 damdec20 янв. 2009 г., 09:48
Хорошо, спасибо за комментарий, я не знал, что он работает с функцией в качестве первого параметра.
 Kent Fredric20 янв. 2009 г., 09:47
Кроме того, в вашем примере ajaxUpdate будет вызываться с полуслучайным значением, а не с фиксированным значением «10», которое он запрашивал.
Решение Вопроса

Вы также можете сделать это с

setTimeout(function() {ajaxUpdate(10)}, 1000);
 Click Upvote21 янв. 2009 г., 01:57
Это правильный вариант для этой ситуации, потому что b4 на каждой итерации я хочу проверить условие, и только если оно выполнено, я хочу установить таймер на 4 на следующей итерации. С setInterval он будет запускаться автоматически. без проверки состояния, которое я не хочу. И это 1 проще
 annakata20 янв. 2009 г., 10:03
это будет только один раз, а не итеративный
 Mtz04 дек. 2012 г., 11:14
Я нахожу второй ответ (от Кента Фредрика) более полным и подробным. Он также представляет несколько способов достижения вашей цели. Этот ответ также хорош, но он неполон и не так полезен для сообщества, поэтому я лично предлагаю вам принять ответ Кента.
var i = window.setInterval( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

пока такое время не будет остановлено.

И если вы хотите остановить это позже:

window.clearInterval( i ); 

Если вы хотите только запустить егоодин раз тем не мение,

var i = window.setTimeout( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

Будет делать трюк, и если вы хотите, чтобы он остановился, прежде чем он начнет работать один раз

window.clearTimeout(i); 

Префикс «window» не является строго обязательным, но это хорошая идея, потому что вы никогда не знаете, когда кому-то еще захочется создать что-то еще с тем же именем в видимой области видимости, которое ведет себя по-разному.

Для полной ссылки на это я всегда нахожу MDC очень полезным:

MDC: window.setIntervalMDC: window.clearIntervalMDC: window.setTimeoutMDC: window.clearTimeout

Кроме того, вы можете прочитать эту статью о таймерах Джона Резига,

ejohn.org: как работают таймеры Javascript
 I.devries20 янв. 2009 г., 10:13
Почему вы должны добавить это к «окну»? ?
 Kent Fredric20 янв. 2009 г., 10:15
Вы не должны, это просто хорошая идея, как я сказал в своем заявлении.
 Georg Schölly20 янв. 2009 г., 09:43
Вы должны использовать window.setInterval () вместо только setInterval () (то же самое для clearInterval)
 Már Örlygsson20 янв. 2009 г., 09:50
ссылка на документацию по javascript будет хорошим дополнением:developer.mozilla.org/en/DOM/window.setInterval

Ваш ответ на вопрос