Temporizadores
En JavaScript contamos con dos métodos globales que nos permiten llamar a una función luego de un tiempo determinado.
setTimeout()
setTimeout(funcion, delay, ...argumentos)
El método global setTimeout()
recibe como primer argumento la función a llamar o una referencia a ella.
El segundo argumento representa el delay o tiempo de espera hasta llamar a la función, expresado en milisegundos.
Y, opcionalmente, podemos pasarle tantos argumentos como querramos que reciba a la función.
function suma (a, b) {
console.log(a + b);
}
var temporizador = setTimeout(suma, 2000, "Java", "Script");
// 2 segundos (2000 ms) después...
// -> "JavaScript"
Si deseamos cancelar la llamada a la función antes de los 2000 ms, podemos hacerlo utilizando el método global clearTimeout()
pasándole como argumento la referencia al temporizador.
clearTimeout(temporizador);
setInterval()
El método global setInterval()
funciona de la misma forma que setInterval()
, con la única diferencia que la función se sigue llamando indefinidamente en los intervalos indicados, hasta que la detengamos o cerremos la ventana del navegador.
setInterval(funcion, delay, ...argumentos)
Por ejemplo:
function suma (a, b) {
console.log(a + b);
}
var intervalo = setInterval(suma, 2000, "Java", "Script");
// 2 segundos (2000ms) después...
// -> "JavaScript"
// 2 segundos (2000ms) después...
// -> "JavaScript"
// 2 segundos (2000ms) después...
// -> "JavaScript"
// ...
Para interrumpir el intervalo, utilizamos el método global clearInterval()
.
clearInterval(intervalo);