
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
Prototype | Añadir propiedades de forma dinámica a un objeto |
toLocaleString | Herramienta esencial para el formateo de fechas y números en aplicaciones internacionales |
Recursividad y pila | Uso de recursividad y funcionamiento de la pila JS |
Desestructuración | Mecanismo para desempaquetar arrays y objetos |
Manejo de Strings | Manejo básico de Strings, cadenas de caracteres |
Operadores | Uso de operadores de comparación y lógicos |
Promesas | Gestión de peticiones asíncronas con promesas |
Sleep | Implementación de la función sleep() en JS |
This | Uso de la palabra reservada this en diferentes contextos |
Maps | Te enseñamos cuando usar Map y cuando Object con ejemplos |
Switchery JS | Librería para modificar el estilo de los checkbox |
Mejores libros Javascript Español | Encuentra los mejores libros para aprender JS y convertirte en el desarrollador más demandado. |
Exception JS | Manejo de excepciones en Javascript, control de errores y flujo de programa. |
Obfuscator Javascript | Protege tu código Javascript Ofuscándolo |
Javascript desde cero | Aprende los conceptos básicos de Javascript, ponte en marcha. |
Lodash | Lodash hace que la manipulación de datos en JavaScript sea más fácil y menos propensa a errores |
Formatdate JS | Formateo y trabajo con fechas en javascript de forma sencilla. |
Dayjs | Biblioteca para la gestión de fechas |
padStart | Maneja cadenas de texto con la función padStart() |