Una función que puede resultar muy útil en muchas ocasiones es una que bloquee el proceso actual durante un intervalo determinado de tiempo.
Así como otros lenguajes pueden implementar un método
Sleep que realiza esta función, en JavaScript no tenemos nada parecido. Sí que podemos, a través de un
timeout, especificar que un proceso determinado se ejecute al cabo de un intervalo de tiempo, pero esto no bloquea la ejecución del resto del código.
Aunque a primera vista pueda parecer que una función que no haga nada, salvo ralentizar la ejecución del código, no tiene mucha utilidad, resulta muy útil en fases de pruebas y depuración (por ejemplo para simular accesos a información de servidor, o para simular el comportamiento de nuestras páginas en dispositivos escasos de recursos).