Una función sleep

Problema:

Función sleep en JS

Las instrucciones de un programa habitualmente se ejecutan en forma secuencial, aunque se pueden crear procesos asíncronos que se ejcuten sin detener el código principal o en paralelo.

Pero ¿y si queremos detener el código un cierto tiempo? ¿Existe alguna función sleep en Javascript?

Solución

Usa una función await
Javascript provee de un mecanismo muy simple para lograr este comportamiento await ya su nombre lo dice todo: esperar

Ejemplo

En este ejemplo retrasamos casa iteración del bucle en 100ms

async function sleep(t){

    await new Promise(resolve => setTimeout(resolve, t));

}

for(let i = 01; i < 5; i++){

    await sleep(100));

    console.log(i);

}

console.log("Y se acabó");

En este código de ejemplo la función sleep logra detener cada iteración en 100ms. Veras como los números aparecen a intervalos de 100ms

scripts