Timer — d3-timer¶
Funciones útiles¶
Temporizadores¶
d3.timer()¶
Ejecuta un temporizador, invocando un callback específico repetidamente hasta que el temporizador es apagado. Se puede pasa un numero al parámetro opcional delay
en milisegundos para invocar al callback después de este tiempo.
Input
t = d3.timer(function(elapsed) {
console.log(elapsed);
if (elapsed > 300) { t.stop() };
}, 250)
Output
12
72
94
168
236
252
272
308
timer.stop()¶
Detiene un temporizador, previniendo la invocación de callbacks subsecuentes. No tiene efecto si el temporizador ya ha sido detenido.
timer.restart()¶
Reinicia un temporizador con un callback
especificado y con parametros opcionales delay
y time
. Esta función es equivalente a para el temporizador y crear uno nuevo con los argumentos provistos, sin embargo este temporizador retiene la prioridad de la invocación anterior.
Input
var restarted = false;
var callback = function(elapsed){
console.log(elapsed);
if (elapsed > 100) {
if (restarted == false) {
restarted = true;
console.log("");
t.restart(callback, 200);
} else {
t.stop();
};
};
};
var t = d3.timer(callback, 200);
36
84
94
118
52
58
172
d3.timeout()¶
Como la función d3.timer(), con la diferencia de que este temporizador se detiene en el primer callback.
Input
var callback_2 = function(elapsed){
console.log("¡Callback ejecutado!")
}
var t = d3.timeout(callback_2, 200);
Output
¡Callback ejecutado!
d3.interval()¶
Igual que la función d3.timer() excepto en que el callback es inovocado cada x
milisegundos definidos en el parámetro delay
.
Input
var callback = function(elapsed){
console.log(elapsed);
if (elapsed > 2000) {
t.stop();
}
}
var t = d3.interval(callback, 500)
Output
562
1000
1502
2000
2500