AD

¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.

Ver cursos de JavaScript en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟨Lecciones de JavaScript
Lección 57 / 69

Esperar un tiempo fijo (setTimeout y await)

En esta lección aprenderás a combinar setTimeout con await para pausar un proceso durante un tiempo determinado, y así escribir programas que controlan el ritmo. Está dirigida a quien busca «setTimeout con await en JavaScript».

Envolver setTimeout() en una Promise y usar await te permite pausar la ejecución el tiempo que indiques. Se usa para ajustar el ritmo de una animación o espaciar una serie de operaciones. setTimeout() es en origen un mecanismo que recibe una función de retorno, pero envuelto en una Promise se vuelve utilizable junto con await.

El código de ejemplo crea con new Promise((resolve) => setTimeout(resolve, 500)) una Promise que se completa a los 500 milisegundos y la espera con await. Comprueba que se muestra «Empezando el proceso» y, tras una breve pausa, aparece «Ejecutado tras 0,5 segundos».

Un tropiezo habitual al empezar es que setTimeout() por sí solo no se puede esperar con await: hay que envolverlo en una Promise. Escribir setTimeout(resolve, 500) significa «llama a la función resolve (la que señala que el proceso terminó) a los 500 milisegundos»; entender este mecanismo también afianzará tu comprensión general del código asíncrono.

Es una técnica que se aplica con frecuencia también en el trabajo real: por ejemplo, esperar un poco antes de reintentar para no saturar un servidor a peticiones. Con este ejemplo sencillo, hazte con la sensación de «esperar», la operación fundamental de la asincronía.

JavaScript
SALIDA

💡 Todo lo que pases a console.log() aparece en la salida de abajo.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)