Starte en timer i JavaScript
Selv om funksjonen setTimeout ikke er beregnet
for å opprette timere, kan man likevel
lage dem med den, hvis man bruker
rekursjon:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // kaller oss selv
}, 1000);
}
timer();
Man kan stoppe en slik timer ved rett og slett ikke å la rekursjonen skje:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // starter bare hvis telleren er mindre enn 10
timer();
}
}, 1000);
}
timer();
Skriv ut tallet 0 i konsollen. Etter
ett sekund, skriv ut tallet 1, etter to
sekunder skriv ut tallet 2, etter 3
sekunder skriv ut tallet 3. Og så videre
i det uendelige.