Ajasti käivitamine JavaScriptis
Kuigi funktsioon setTimeout pole mõeldud
ajastite loomiseks, saab neid siiski
selle abil teha, kui kasutada
rekursiooni:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // kutsume iseennast
}, 1000);
}
timer();
Sellise ajasti saab peatada, lihtsalt takistades rekursiooni toimumist:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // käivitame ainult siis, kui loendur on väiksem kui 10
timer();
}
}, 1000);
}
timer();
Kuva konsooli number 0.
Ühe sekundi pärast kuva number 1, kahe
sekundi pärast kuva number 2, 3
sekundi pärast kuva number 3. Ja nii
lõpmatuseni.