Tengo un código que debe ejecutarse después de un retraso de 5000 ms.Actualmente estoy usando setTimeout pero es asincrónico y quiero que la ejecución espere su devolución. He intentado usar la siguiente:Retraso sincrónico en la ejecución del código
function pauseComp(ms)
{
var curr = new Date().getTime();
ms += curr;
while (curr < ms) {
curr = new Date().getTime();
}
}
Pero el código quiero retrasar está llegando algunos objetos usando raphaeljs y la pantalla no es en absoluto fácil. Estoy tratando de usar el plugin doTimeout. Necesito tener un retraso solo una vez, ya que la demora y el código que se retrasará están en un bucle. No necesito un ID, así que no lo estoy usando. Por ejemplo:
for(i; i<5; i++){ $.doTimeout(5000,function(){
alert('hi'); return false;}, true);}
Esta espera a 5 seg acaben dando primeras iteraciones de bucle Hi y luego sucesivas muestran alerta inmediatamente después de la primera. Lo que quiero que haga es esperar 5 segundos, dar alerta nuevamente, esperar y luego dar alerta, y así sucesivamente.
Cualquier sugerencia/sugerencias son apreciadas!
Junto a setTimeout es una mejor opción, la solicitud OP un método síncrono @ThinkBonobo respondió correctamente – robsonrosa
@robsonrosa -. El PO también dijo que" el código quiero retrasar está llegando algunos objetos que usan raphaeljs y la pantalla no es para nada uniforme. "No puede usar código síncrono * y * dibujar cosas, porque la pantalla no se volverá a pintar hasta que se complete el código síncrono. El hecho de que el OP haya pedido algo no lo hace hacerlo posible. – nnnnnn