Creo que lo que Lo que estoy buscando es un método para suspender la ejecución del código hasta que se agote el tiempo de espera. Muchos programadores aficionados desean una construcción así, pero no existe en JavaScript. No es necesario. Para todos los propósitos en JavaScript, setTimeout
y setInterval
son soluciones candidatas perfectas.
Sin embargo, JavaScript es un lenguaje potente. Puedes construir tu propia construcción para abordar este problema. Eche un vistazo a blog post de Neil Mix. Con su enfoque puede crear una función de apagado automático que se puede utilizar en los siguientes términos (tenga en cuenta que en la actualidad sólo es compatible con JavaScript Firefox 1.7):
function mainGeneratorFunction() {
functionToRunFirst();
yield sleep(2000);
//rest of the code
}
Sin embargo, para otros navegadores no se desespere. Puede usar un truco conocido como XHR Sleeping
. En este enfoque, simplemente utiliza un XMLHttpRequest
sincrónico para llamar a un script del lado del servidor como php, que luego duerme durante el tiempo especificado y lo devuelve después de que se active. El código JavaScript es el siguiente: la función del sueño
function sleep(microseconds) {
var request = new XMLHttpRequest();
request.open("GET", "sleep.php?time=" + microseconds, false);
request.send();
}
functionToRunFirst();
sleep(2000000);
//rest of the code
El php es el siguiente:
<?php
usleep($_GET["time"]);
?>
¿Puedes dar algunas líneas de tu código? Creo que estás buscando .delay() pero no estoy seguro por ahora. –
Bueno, supongo que debes esperar 2 segundos antes de hacer otra cosa. Use setTimeout() para esa otra cosa, luego de que haya ejecutado su función ;-) –
parece que desea esperar 2 segundos antes de regresar a la función de llamada. En caso afirmativo, antes de volver, use setTimeout() – Rohan