Start af timer i JavaScript
Selvom funktionen setTimeout ikke er designet
til at oprette timere, kan de alligevel
laves med den, hvis man bruger
rekursion:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // kalder os selv
}, 1000);
}
timer();
Man kan stoppe en sådan timer ved simpelthen at forhindre rekursion i at finde sted:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // starter kun, hvis tælleren er mindre end 10
timer();
}
}, 1000);
}
timer();
Udskriv tallet 0 i konsollen. Efter
et sekund udskrives tallet 1, efter to
sekunder udskrives tallet 2, efter 3
sekunder udskrives tallet 3. Og så videre
i det uendelige.