Avvio di un timer in JavaScript
Sebbene la funzione setTimeout non sia progettata
per creare timer, è comunque possibile
realizzarli con il suo aiuto, se si utilizza
la ricorsione:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // chiamiamo noi stessi
}, 1000);
}
timer();
È possibile fermare un tale timer semplicemente non permettendo che avvenga la ricorsione:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // avviamo solo se il contatore è minore di 10
timer();
}
}, 1000);
}
timer();
Visualizza nella console il numero 0. Dopo
un secondo visualizza il numero 1, dopo due
secondi visualizza il numero 2, dopo 3
secondi visualizza il numero 3. E così via
all'infinito.