Saltar al contenido
Portada » JS Sleep

JS Sleep

En los lenguajes de programación tales como PHP y C existe una función sleep(segundos) para pausar la ejecución por un cierto tiempo. Java también cuenta con thread.sleep(), python con time.sleep() y GO on time.sleep().

Sin embargo, Javascript no cuenta con una función sleep() propia. Tenemos que utilizar algunos mecanismos para simular la función sleep() en JS. Para ello podemos apoyarnos en las promesas y las funciones async/wait.

Await se usa para esperar por una promesa y solo puede ser usado en una función async. El comportamiento de Javascript es asíncrono y se usa el concepto de promesas para manejarlo. Debido a este comportamiento asíncrono nativo necesitamos de las funciones async/wait para escribir código de forma síncrona.

Implementación de Sleep en JS

La manera de implementar sleep en JS viene dada por la siguiente sintaxis:

sleep(tiempo de parada en milisegundos).then(() => {  
// codigo a ejecutar 
})  

const func = async () => { await sleep(tiempo de espera en milisegundos)  
// codigo a ejecutar 
}  
logicaDeNegocio()  

Ejemplo de uso

En este ejemplo usaremos la función sleep() con las funcionalidades async/wait. La función logicaDeNegocio primero imprime por pantalla “Bienvenido”, tras esto entra en un bucle que imprime cada 2 segundos “En Curso” cinco veces.

<html>  
<head>  
</head>  
<body>  

<script>  
   function sleep(milisegundos) {  
      return new Promise(resolve => setTimeout(resolve, milisegundos));  
   }  
   async function logicaDeNegocio() {  
      document.write('Bienvenido');  
      for (let i = 1; i <=5 ; i++) {          
         await sleep(2000);  
         document.write( i + " " + "En Curso" + " " + "</br>");  
      }  
   }  
   logicaDeNegocio();  
</script>  
  
</body>  
</html>  

Más recursos Javascript

PrototypeAñadir propiedades de forma dinámica a un objeto
toLocaleStringHerramienta esencial para el formateo de fechas y números en aplicaciones internacionales
Recursividad y pilaUso de recursividad y funcionamiento de la pila JS
DesestructuraciónMecanismo para desempaquetar arrays y objetos
Manejo de StringsManejo básico de Strings, cadenas de caracteres
OperadoresUso de operadores de comparación y lógicos
PromesasGestión de peticiones asíncronas con promesas
SleepImplementación de la función sleep() en JS
ThisUso de la palabra reservada this en diferentes contextos
MapsTe enseñamos cuando usar Map y cuando Object con ejemplos
Switchery JSLibrería para modificar el estilo de los checkbox
Mejores libros Javascript EspañolEncuentra los mejores libros para aprender JS y convertirte en el desarrollador más demandado.
Exception JSManejo de excepciones en Javascript, control de errores y flujo de programa.
Obfuscator JavascriptProtege tu código Javascript Ofuscándolo
Javascript desde ceroAprende los conceptos básicos de Javascript, ponte en marcha.
LodashLodash hace que la manipulación de datos en JavaScript sea más fácil y menos propensa a errores
Formatdate JSFormateo y trabajo con fechas en javascript de forma sencilla.
DayjsBiblioteca para la gestión de fechas
padStartManeja cadenas de texto con la función padStart()