setTimeout JavaScript: La Guía Definitiva de Uso

11 minuto(s)

En ocasiones necesitamos usar el método setTimeout() del lenguaje de programación JavaScript.

Para usarlo debes realizar ciertos pasos determinados.

En este artículo te compartiré una guía definitiva del uso de setTimeout de JavaScript, vamos con ello.

Usando el método setTimeout en un proyecto creado con JavaScript
El método setTimeout es usado por empresas y proyectos como Spotify, Amazon, Instagram y más

Uso de setTimeout de JavaScript: La Guía Definitiva

Es importante que debas conocer ciertos conceptos esenciales de este método.

Una ves que los comprendas te será fácil su uso en JavaScript y otros entornos.

¿Qué es setTimeout() en JavaScript?

Es un método global de JavaScript, más no es un método local.

Es importante conocer la diferencia entre un método global y uno local.

Un método global puede ser usado desde cualquier parte de nuestro código.

Mientras que un método local solo puede ser usado dentro de una función o bloque de código.

setTimeout() permite ejecutar una tarea luego de configurarle un tiempo determinado.

Compatibilidad con navegadores

Antes de usar setTimeout, es importante que conozcas cuál es su compatibilidad con los navegadores modernos.

El método setTimeout() es compatible con diferentes navegadores modernos.

Compatibilidad con navegadores de escritorio

En la siguiente tabla puedes ver desde qué versión de los navegadores de escritorio es compatible el método setTimeout().

Asimismo, puedes ver qué tareas puedes realizar y el tipo de soporte que tienen:

Navegadores de escritorio compatibles con setTimeout()
La mayoría de navegadores tiene soporte total o completo

Compatibilidad con navegadores móviles

En la siguiente tabla puedes ver desde qué versión de los navegadores móviles es compatible el método setTimeout().

Asimismo, puedes ver qué tareas puedes realizar y el tipo de soporte que tienen:

Navegadores móviles compatibles con setTimeout
El navegador Edge también tiene compatibilidad con setTimeout en sus últimas versiones

¿Qué podemos hacer con el método setTimeout?

Con este método podemos:

  • Crear un reloj digital numérico (esto lo puedes ver en el tutorial Como Crear un Reloj Digital (Numérico) con JavaScript de nuestro blog).
  • Cargar una animación luego de un tiempo determinado.
  • Reproducir un video luego de un tiempo específico.
  • Cargar un video después de un tiempo establecido.
  • Descargar un archivo luego de cierto tiempo.

Puedes realizar diferentes cosas que dependan de un tiempo o conteo de tiempo.

Sintaxis y Parámetros del método setTimeout

En la siguiente imagen puedes apreciar cómo está conformado el método setTimeout.

Puedes ver su sintaxis y los parámetros que les puedes configurar:

Sintaxis y parámetros del método setTimeout de JavaScript
El parámetro “paramN” quiere decir n parámetros o otros parámetros más, ya que a setTimeout puedes pasarle más parámetros

Uso de setTimeout de JavaScript

Para usar el método setTimeout() de JavaScript debes seguir las indicaciones que te daré a continuación.

Creación de nuevo proyecto

Crea un nuevo archivo llamado index.html y agrega lo siguiente.

He colocado comentarios para explicar que hacen las partes más importantes del código:


Fijate bien que he agregado una capa con id mensaje, tu le puede poner el id que desees.

Dentro de esta capa vamos a mostrar un mensaje luego de 3 segundos.

Antes de la etiqueta de cierre </body> agregamos el siguiente código JavaScript (He colocado comentarios para explicar qué hace cada línea de código):


El código completo del archivo index.html se vería así:


Con ello ya estamos usando el método setTimeout() de JavaScript correctamente.

Probando el código

Abre el archivo index.html en tu navegador.

Verás que, luego de 3 segundos, se muestra el mensaje: Eres un crack de JavaScript !

Un video vale más que mil palabras.

En el siguiente video te muestro que el método setTimeout funciona correctamente, tal como te indicamos:

Entonces con ello ya te puedes dar una idea de lo que hace el método setTimeout de JavaScript.

Organizando nuestro proyecto

Vamos a crear un archivo de JavaScript llamado app.js, tu le puedes poner el nombre que desees:


Abre el archivo app.js y agrega lo siguiente:


Y en nuestro archivo index.html llamamos al archivo app.js:


Si abres el archivo index.html

El resultado será el mismo.

Se mostrará el mensaje: Eres un crack de JavaScript !

Solo hemos organizado nuestro proyecto

Organizar nuestro proyecto, es altamente recomendado por la comunidad de programadores en JavaScript.

Ya que ayuda a mantener un orden y permite que la página HTML cargue más rápido.

Uso de setTimeout en una Función

En la siguiente imagen puedes ver cómo se usa el método setTimeout en una función de JavaScript:

Usando setTimeout en código JavaScript real
Cuando pasamos los parámetros: Fresa, Manzana y Platano en setTimeout, estos pasan a llamarse argumentos

Uso de setTimeout en Frameworks y Librerías

También puedes usar el método setTimeout en tus herramientas favoritas.

Usar setTimeout en React

Para usarlo en la librería React, debes realizar los siguientes pasos:

Creación de Nuevo Proyecto

Para crear un nuevo proyecto de React usaré la herramienta Vite JS.

Ejecutamos el siguiente comando para crearlo (He colocado comentarios para explicar los procesos que debes seguir y se te haga fácil comprenderlo):


Luego de crear el proyecto, ingresamos a su directorio.

Instalamos las dependencias necesarias y verificamos que el proyecto se ha creado correctamente:

Código de React para usar setTimeout

Lo que haremos será mostrar un mensaje luego de 3 segundos.

Abrimos el archivo App.tsx del proyecto.

Primero importamos los hooks useState y useEffect de React:


Creamos una función llamada MostrarMensaje() y dentro de ella hacemos uso de setTimeout().

Asimismo usamos los hooks useState y useEffect que importamos previamente.

También hacemos otras tareas (He colocado comentarios para explicar que hace cada bloque del código):


Luego en la función principal llamamos a la función MostrarMensaje():

Probemos el código

Iniciamos el servidor de Vite ejecutando el siguiente comando:


Abrimos la ruta local http://localhost:5173/ en el navegador.

Y podemos ver que se muestra nuestro mensaje luego de 3 segundos:

Usando setTimeout en la librería React
Puedes hacer tareas reactivas con React y setTimeout

Usar setTimeout en Angular

Para usar setTimeout en el framework Angular, vamos a crear un nuevo proyecto.

Creación de Nuevo Proyecto

Los proyectos en Angular se gestan usando la herramienta llamada Angular CLI.

Ejecutamos el siguiente comando para crear uno nuevo:

Código de Angular Para Usar setTimeout

Cuando creamos nuestro proyecto, se nos generaron varios directorios y archivos.

Abrimos el archivo llamado app.component.ts y comenzamos creando una variable llamada mensaje.

La variable mensaje la creamos como tipo string o texto.

Luego en el constructor hacemo uso de setTimeout (He colocado comentarios para explicar que hacen las partes más importantes del código):

Probemos el código

Iniciamos el servidor de Angular con el siguiente comando:


Si abrimos la ruta local http://localhost:4200/ en nuestro navegador.

Podemos ver que nuestro proyecto creado con Angular usa setTimeout correctamente:

Usando setTimeout en el Framework Angular
La tarea se ejecuta luego de 3 segundos

¿Cómo hacer un delay en JavaScript con setTimeout?

Un delay o retraso te permite retrasar la ejecución de una tarea en el método setTimeout().

Para hacer un delay debes definirlo al final de setTimeout().

Por ejemplo, si queremos que una alerta o mensaje se muestre luego de 7 segundos de retraso o delay.

Lo definimos de la siguiente manera:


Con ello hemos hecho un delay en setTimeout().

¿Cómo detener o cancelar un setTimeout en JavaScript?

Para detener la ejecución de un setTimeout debemos colocarlo en una variable.

Luego crea una función llamada detenerTarea() para detener el setTimeout().

En esa función hacemos uso del método global clearTimeout() y le pasamos la variable que contiene el setTimeout().

Creamos un botón HTML que, al presionarlo, llamará a la función detenerTarea() y detendrá o cancelará el setTimeout():


A continuación el código JavaScript (app.js) para cancelar el setTimeout (He colocado comentarios para explicar qué hace cada línea del código a continuación):


En el siguiente video puedes  ver cómo se detiene o ejecuta nuestro setTimeout con el código anterior que te compartí:

¿Cómo hacer múltiples setTimeouts en JavaScript?

Existen muchas formas de hacerlo.

También depende de lo que necesites hacer.

Un enfoque moderno y profesional es usando Promise() de JavaScript.

Supongamos que queremos ejecutar 5 setTimeout() y cada uno en un tiempo independiente.

Lo que debemos hacer es crear 5 funciones y dentro de cada una de ellas creamos un nuevo objeto Promise().

Y dentro del objeto Promise() establecemos nuestro setTimeout() con su tarea y tiempo de retraso o delay correspondiente.

Luego creamos una función principal llamada mifuncionPrincipal() y dentro de ella llamamos a las 5 funciones.

Usando async en un setTimeout de JavaScript

A estas 5 funciones las llamamos de manera asíncrona usando la función async de JavaScript.

Por último, llamamos a la función principal llamada mifuncionPrincipal() que ejecuta todos los setTimeouts().

He colocado comentarios para explicar qué hacen las partes más importantes del código (app.js):


En nuestro archivo HTML creamos una div con id mensaje para mostrar los mensajes:


En el siguiente video puedes ver el resultado final.

Se ejecutan múltiples setTimeout correctamente:

Cada setTimeout se ejecuta en su propio tiempo establecido.

¿Cómo usar setTimeout con parámetros en JavaScript?

Existen diferentes maneras de usar parámetros en el método setTimeout().

En la siguiente imagen te comparto las formas en las que puedes usar setTimeout con parámetros:

Cómo usar setTimeout con parámetros en JavaScript
Cada una de estas maneras las puede usar según el contexto de tu código

Conclusión

En este tutorial has aprendido a Cómo Usar setTimeout en JavaScript.

Te será de guía para que crees geniales proyectos con el lenguaje de programación JavaScript

Siempre recuerda que con la práctica constante, llegarás a ser un gran programador en JavaScript.

Nota(s)

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.