Starta en timer i JavaScript
Även om funktionen setTimeout inte är avsedd
för att skapa timers, kan man ändå
göra det med hjälp av den om man använder
rekursion:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // anropa oss själva
}, 1000);
}
timer();
Man kan stoppa en sådan timer genom att helt enkelt inte låta rekursionen hända:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // starta bara om räknaren är mindre än 10
timer();
}
}, 1000);
}
timer();
Skriv ut siffran 0 i konsolen. Efter
en sekund, skriv ut siffran 1, efter två
sekunder skriv ut siffran 2, efter 3
sekunder skriv ut siffran 3. Och så vidare
i all oändlighet.