1.8 KiB
title | localeTitle |
---|---|
Window setTimeout Method | Método setTimeout de ventana |
Método setTimeout de ventana
El método setTimeout()
llama a una función o evalúa una expresión después de un número específico de milisegundos.
Consejos:
- 1000 ms = 1 segundo.
- La función solo se ejecuta una vez. Si necesita repetir la ejecución, use el método
setInterval()
. - Utilice el método
clearTimeout()
para evitar que la función se ejecute.
La sintaxis del método setTimout()
es la siguiente:
setTimeout(function, milliseconds, param1, param2, ...);
Por ejemplo:
setTimeout(function(){ alert("Hello"); }, 3000);
Una cosa muy importante acerca de setTimeout()
es que se ejecutará de forma asíncrona. Tomemos un ejemplo:
console.log("A");
setTimeout(function(){ console.log("B"); }, 0);
console.log("C");
// The order in the console will be
// A
// C
// B
¡No como se espera! Pero especificamos solo 0 segundos !!! Para resolver este problema y asegurarnos de que nuestro código se ejecute de forma sincrónica, solo tenemos que anidar la última consola en la función
console.log("A");
setTimeout(function() {
console.log("B");
console.log("C");
}, 0);
// The order in the console will be
// A
// B
// C
Más información:
Documentación: MDN
Más ejemplos de la función setTimeout : w3schools
Para entender lo que realmente sucede debajo del capó, simplemente mire este impresionante video Philip Roberts: ¿Qué diablos es el bucle de eventos de todos modos? | JSConf EU 2014