Quiero ejecute el siguiente código:Cómo establecer un temporizador en javascript
ajaxUpdate(10);
Con un retardo de 1 segundo entre cada iteración. ¿Cómo puedo hacer esto?
Quiero ejecute el siguiente código:Cómo establecer un temporizador en javascript
ajaxUpdate(10);
Con un retardo de 1 segundo entre cada iteración. ¿Cómo puedo hacer esto?
También puede hacerlo con
setTimeout(function() {ajaxUpdate(10)}, 1000);
esto será una sola vez, no iterativo – annakata
Este es el correcto para esta situación porque b4 cada iteración quiero verificar una condición, y solo si se cumple, quiero que el temporizador se establezca 4 en la siguiente iteración. Con setInterval se ejecutaría automáticamente. sin verificar la condición que no quiero. Y este 1 es más simple –
Encuentro la segunda respuesta (de Kent Fredric) mucho más completa y detallada. También presenta múltiples formas de lograr tu objetivo. Esta respuesta también es buena, pero está incompleta y no es tan útil para la comunidad, por lo que te sugiero que aceptes la respuesta de Kent. – Mtz
Puede usar setInterval()
para eso. Crear una función anónima que se llama, y utilizar el tiempo en milisegundos:
var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000);
Debe usar window.setInterval() en lugar de solo setInterval() –
Actualizado - gracias @gs – Greg
¿necesito usar var myInterval = ... o puedo simplemente llamar al código en el lado derecho de = y ¿funcionará? –
var i = window.setInterval(function(){
ajaxUpdate(10);
}, 1000);
Para ello, será ajaxUpdate cada segundo, hasta el momento en que se detuvo.
Y si desea detenerlo después:
window.clearInterval(i);
Si sólo desea ejecutarlo vez sin embargo,
var i = window.setTimeout(function(){
ajaxUpdate(10);
}, 1000);
hará el truco, y si desea detener Se está ejecutando antes de que se ejecute una vez
window.clearTimeout(i);
La "ventana "prefix no es estrictamente nessecary, pero es una buena idea, porque nunca se sabe cuando alguien más podría querer crear algo más con el mismo nombre en el ámbito visible que se comporte de manera diferente.
Para una referencia completa sobre este, siempre encuentro MDC muy útil:
Además, es posible que desee leer este artículo sobre temporizadores por John Resig,
Debe usar window.setInterval() en lugar de solo setInterval() (igual para clearInterval) –
el enlace a los documentos de javascript sería una buena adición: https://developer.mozilla.org/en/DOM/window.setInterval –
¿Por qué debería precederlo con "ventana"? ? –
Puede utilizar la función setTimeout (FONC cadena, retardo entero). Por ejemplo, para ejecutar el código cada segundo que puede hacer:
window.setTimout("ajaxUpate",100);
Esperanza contesto a su pregunta;)
¡Uy, todos responden en el mismo minuto! – damdec
No se recomienda el uso de cadenas, es demasiado ambiguo. –
Además, en su ejemplo, se llamará ajaxUpdate con un valor semialeatorio, no con el valor fijo '10' que solicitó. –
Se puede utilizar también jQuery temporizadores: http://plugins.jquery.com/project/timers
Se puede utilizar esta clase JavaScript Timer .
Espero que su servidor pueda manejar la paliza. :) – epascarello