Uruchamianie timera w JavaScript
Chociaż funkcja setTimeout nie jest przeznaczona
do tworzenia timerów, jednak nadal można
je tworzyć za jej pomocą, jeśli skorzystać z
rekurencji:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // wywołamy sami siebie
}, 1000);
}
timer();
Zatrzymanie takiego timera jest możliwe po prostu przez niedopuszczenie do rekurencji:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // uruchamiamy tylko jeśli licznik jest mniejszy od 10
timer();
}
}, 1000);
}
timer();
Wypisz w konsoli liczbę 0. Po
sekundzie wypisz liczbę 1, po dwóch
sekundach wypisz liczbę 2, po 3
sekundach wypisz liczbę 3. I tak dalej
w nieskończoność.