funciona - JavaScript en espera/espera antes de continuar
javascript pdf (1)
JS no tiene una función de suspensión, tiene funciones setTimeout() o setInterval() .
Si puede mover el código que necesita ejecutar después de la pausa a la devolución de llamada setTimeout()
, puede hacer algo como esto:
//code before the pause
setTimeout(function(){
//do what you need here
}, 2000);
Vea el ejemplo aquí: http://jsfiddle.net/9LZQp/
Esto no detendrá la ejecución de su script, pero siempre que setTimeout()
sea una función asíncrona, este código
console.log("HELLO");
setTimeout(function(){
console.log("THIS IS");
}, 2000);
console.log("DOG");
Imprimirá esto en la consola:
HELLO
DOG
THIS IS
(tenga en cuenta que el PERRO se imprime antes de ESTO ES )
Puede usar el siguiente código para simular un sueño durante cortos períodos de tiempo:
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
Ahora, si quieres dormir durante 1 segundo, solo usa:
sleep(1000);
ejemplo: http://jsfiddle.net/HrJku/1/
tenga en cuenta que este código mantendrá su script ocupado durante n milisegundos . Esto no solo detendrá la ejecución de Javascript en su página, sino que, dependiendo de la implementación del navegador, posiblemente hará que la página no responda por completo, y posiblemente haga que todo el navegador no responda . En otras palabras, esto es casi siempre lo que está mal hacer.
Esta pregunta ya tiene una respuesta aquí:
- ¿Cuál es la versión de JavaScript de sleep ()? 69 respuestas
Tengo un código JavaScript al que necesito agregar una función de espera / 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 incluir
setTimeout
pero no estoy seguro de cómo usarlo en este caso.
No puedo usar PHP, ya que mi servidor no lo admite, aunque usar jQuery estaría bien.