JavaScript dormir/esperar antes de continuar
Tengo un código JavaScript al que tengo que añadir una función de reposo/espera. El código que estoy ejecutando ya está en una función, por ejemplo:
function myFunction(time)
{
alert('time starts now');
//code to make the program wait before continuing
alert('time is up')
}
He oído que una posible solución podría ser
setTimeout
pero no estoy seguro de cómo utilizarlo en este caso.
No puedo usar PHP, ya que mi servidor no lo soporta, aunque usar jQuery estaría bien.
291
1
JS no tiene una función sleep, tiene las funciones setTimeout() o setInterval().
Si puedes mover el código que necesitas ejecutar después de la pausa al callback
setTimeout()
, puedes hacer algo como esto:ver ejemplo aquí : http://jsfiddle.net/9LZQp/
Esto no detendrá la ejecución de tu script, pero mientras
setTimeout()
sea una función asíncrona, este códigoimprimirá esto en la consola:
(nótese que DOG se imprime antes de THIS IS)
Puede utilizar el siguiente código para simular un sueño durante períodos cortos de tiempo:
Ahora, si quieres dormir durante 1 segundo, sólo tienes que usar
ejemplo: http://jsfiddle.net/HrJku/1/
tenga en cuenta que este código mantendrá su script ocupado durante n milisegundos. Esto no sólo detendrá la ejecución de Javascript en su página, sino que, dependiendo de la implementación del navegador, puede hacer que la página no responda completamente, y posiblemente hacer que todo el navegador no responda. En otras palabras, esto es casi siempre un error.