Javascript Settimeout

| | | | | |

setTimeout () y setInterval () son eventos de tiempo de JavaScript. El método setTimeout () de JavaScript ejecuta una funciòn después de un perìodo de milisegundos. JavaScript setInterval () ejecuta una funciòn continuamente después de que ha pasado un cierto perìodo de milisegundos.

JavaScript se ejecuta lìnea por lìnea. Tan pronto como se haya ejecutado una lìnea, comienza la siguiente. Para la mayorìa de los sitios web, esta estructura tiene sentido: necesita que su còdigo se ejecute en un orden. ¿Qué sucede si desea introducir una pausa entre operaciones?

Ahì es donde los métodos setTimeout y setInterval son √∫tiles. setTimeout llama a una funciòn después de un retraso especificado. setInterval llama a una funciòn continuamente con un retraso especìfico.

En esta guìa, vamos a hablar sobre lo que setTimeout y setInterval son. Le mostraremos còmo funcionan consultando algunos ejemplos para que pueda empezar a utilizar estos métodos. ¬°Empecemos!

¿Qué es JavaScript setTimeout?

JavaScript setTimeout () llama a un método después de que haya pasado un cierto perìodo de milisegundos. El método solo se llama una vez. El método setTimeout () le permite introducir retrasos en su còdigo.

Echemos un vistazo a la sintaxis de este método:

Los dos parámetros aceptados por setTimeout son:

  • function : la funciòn que desea ejecutar después de un perìodo de tiempo.
  • time : la cantidad de tiempo que su programa debe esperar antes de ejecutar una funciòn .

Iniciar un temporizador de JavaScript setTimeout

Vamos a crear un temporizador que imprima " Python.Engineering! " a la consola usando una funciòn de flecha :

Este temporizador tiene dos argumentos. El primer argumento es la funciòn de JavaScript que queremos ejecutar dentro de nuestro objeto de ventana. El segundo argumento es el perìodo de tiempo en milisegundos que queremos que transcurra antes de que se ejecute el còdigo dentro de nuestra funciòn. & Nbsp;

Después de esperar dos segundos, nuestro còdigo imprime " Python.Engineering! & Rdquo; a la consola de JavaScript .

La funciòn a la que desea llamar no necesita estar definida dentro de setTimeout funciòn. Podemos refactorizar nuestro còdigo para que sea más fácil de leer:

La funciòn que antes era un argumento ahora está en su propia funciòn llamado printCareerKarma. Hacemos referencia a esa funciòn dentro del método setTimeout. Este còdigo es más fácil de leer que nuestro ejemplo original.

Còmo cancelar un temporizador setTimeout

Puede cancelar un temporizador utilizando el método clearTimeout (). Esto detendrá la ejecuciòn del temporizador y el còdigo dentro no se ejecutará un temporizador. Considere el siguiente còdigo:

Este còdigo no imprimir " Python.Engineering! " en la consola. Esto se debe a que cancelamos nuestro temporizador usando clearTimeout antes de que el temporizador setTimer tenga la oportunidad de ejecutarse.

¿Qué es JavaScript setInterval?

El método JavaScript setInterval () llama a una funciòn repetidamente. Se establece un retraso especìfico entre cada vez que se llama a una funciòn.

setIn terval () usa una sintaxis similar a setTimeout ():

Debe especificar dos parámetros para usar setInterval:

Iniciar un temporizador de JavaScript setInterval

Mientras que setTimeout solo ejecuta una funciòn una vez, setInterval seguirá ejecutando una funciòn de nuevo. Utiliza la misma sintaxis que el método setTimeout.

Creemos una funciòn que imprima el contenido de una matriz de cafés en la consola:

Este còdigo ejecuta la funciòn iterateOverArray repetidamente. Hay un retraso de un segundo (1000 milisegundos) entre cada llamada de esta funciòn.

Ejecutemos nuestro còdigo:

El problema con este còdigo es que sigue funcionando incluso después de haber iterado sobre cada elemento de nuestra lista . Cuando todos los elementos de nuestra lista se hayan impreso en la consola, " undefined " los valores se imprimen indefinidamente.

La funciòn setInterval seguirá ejecutándose porque se repite hasta que se le indique que se detenga. Solucionemos este problema.

Còmo cancelar un temporizador setInterval

El método clearInterval detiene la ejecuciòn de un método setInterval más.

Cancelemos nuestro temporizador una vez que todos los cafés del men√∫ estén impresos en la consola. Para empezar, calcularemos cuántos artìculos hay en nuestra lista de cafés. Esto nos permitirá identificar cuándo debemos cancelar nuestro temporizador.

A continuaciòn, agregaremos una funciòn al final de nuestro còdigo. Esta funciòn detiene nuestro método setInterval después de que todos nuestros cafés se hayan impreso en la consola:

A continuaciòn, agregaremos una funciòn al final de nuestro còdigo. Esta funciòn detiene nuestro método setInterval después de que todos nuestros cafés hayan sido impresos en la consola:

Hemos asignado nuestro método setInterval () a su propia variable llamado printCoffees. Luego hemos declarado un método setTimeout () que cancela el intervalo de tiempo de printCoffees. Este método se ejecutará después de que se haya repetido cada café de nuestra lista.

Calculamos cuántos segundos debe esperar el método setTimeout () multiplicando el n√∫mero de cafés a imprimir por 1001. En nuestra lista se almacenan cuatro cafés. Cuatro multiplicado por 1000 son 4000, que son cuatro segundos.

Hemos elegido el n√∫mero 1001 para que nuestro temporizador se detenga después de que el √∫ltimo elemento de la matriz se haya impreso en la consola. Si elegimos el n√∫mero 4000, nuestro método printCoffees se detendrìa antes de imprimir el √∫ltimo artìculo en nuestros " cafés " matriz a la consola.

Ejecutemos nuestro còdigo:

Nuestro còdigo se detiene después de que todos los elementos de nuestra lista se hayan impreso en la consola. Ya no contin√∫a ejecutándose indefinidamente. Esto se debe a que hemos utilizado el método clearInterval () para detener el método setInterval ().

setInterval: Un ejemplo visual

Usemos algo de HTML para mostrar còmo funciona la funciòn setInterval. Vamos a crear un sitio web sencillo que muestra nuestra lista de cafés. Estos cafés se agregarán uno por uno al sitio. Comenzaremos creando una interfaz simple para el proyecto en un archivo llamado index.html:

Nuestra interfaz se ve asì:

6okXMdjRqVaKAyir5bEYOj8C94vmv NLTTYy4tw3 JLK O2H3r QXrM Blze886bBFFOzVth2mVnmq9E9IKo AmRYMoPdoGhToy4K0rFANOFnqAHmeyn74JellbuBam1m910vvtc

Hasta ahora, no hay mucho que hacer. Eso es porque necesitamos escribir algunos JavaScript para que aparezcan nuestros cafés.

Comenzaremos nuestro JavaScript seleccionando nuestra lista. Abra un archivo llamado scripts.js y pegue este còdigo:

Este còdigo selecciona nuestro elemento de lista. Puede obtener más informaciòn sobre getElementById en nuestro tutorial sobre < a href = "/ javascript-getelementbyidv/">JavaScript getElementById . Luego, usaremos nuestro còdigo anterior, con algunos cambios, para mostrar los cafés en la página web:

En la funciòn iterateOverArray, hemos agregado un còdigo nuevo . Primero usamos createElement () para crear un nuevo elemento li. Luego, hemos configurado el contenido de ese elemento li para que sea igual al nombre de un café en nuestra lista.

Nuestro còdigo agrega el elemento li al elemento ul en nuestra lista. Este proceso se repite hasta que todos los elementos de nuestra lista de cafés se hayan agregado a la página web, como en nuestro √∫ltimo ejemplo.

Ejecutemos nuestro còdigo y veamos qué sucede. Después de cuatro segundos, nuestros devuelve còdigo: BKdNM1booSj51VOG3Edr4fT1Z53SrHX6tT7RcsPA7tSJ5bGi1IPvOqHEDNNThuDhexK3vOSZ9 JdXWlcfQ0WXyaX2y4lCBr957jjAEkenvoWF27UEWPNpgpExDnX6PwV0wvAO 5u

Hay un espacio de un segundo entre cada elemento de la lista que se agrega a la página web.

Conclusiòn (y desafìo)

setTimeout y setInterval son eventos de tiempo de JavaScript. El método setTimeout ejecuta una funciòn después de un retraso. setInterval llama a una funciòn repetidamente con un retraso entre cada llamada.

¿Está buscando mejorar sus habilidades con estos métodos? Intente crear una interfaz visual usando HTML y JavaScript para un juego de memoria.

El juego debe mostrar una serie de cinco palabras para que el usuario las recuerde. Una vez mostradas las palabras, se le debe preguntar al usuario cuáles recuerda. & Nbsp; Si está buscando más ayuda para aprender JavaScript, lea nuestra guìa sobre mejores tutoriales para principiantes de JavaScript .

Esperamos que este artículo le haya ayudado a resolver el problema. Además de Javascript Settimeout, consulta otros temas relacionados con __del__.

¿Quiere sobresalir en Python? Consulte nuestra reseña de los mejores cursos en línea de Python 2022. Si está interesado en Data Science, consulte también cómo aprender programación en R.

Por cierto, este material también está disponible en otros idiomas:



Anna Emmerson

San Francisco | 2022-11-30

Gracias por la explicación. Estuve atascado con el Javascript Settimeout durante algunas horas, finalmente lo conseguí 🤗. Comprobado ayer, ¡funciona!

Manuel Jackson

Milan | 2022-11-30

JavaScript es todo un poco confuso 😭 Javascript Settimeout no es el único problema que encontré. Solo espero que eso no vuelva a surgir

Cornwall Jackson

Moscow | 2022-11-30

Gracias por la explicación. Estuve atascado con el Javascript Settimeout durante algunas horas, finalmente lo conseguí 🤗. Lo usare en mi tesis de licenciatura

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically