Spuštění časovače v JavaScriptu
Přestože funkce setTimeout není určena
pro vytváření časovačů, přesto je s její pomocí
lze vytvořit, pokud využijeme
rekurzi:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // zavoláme sami sebe
}, 1000);
}
timer();
Takový časovač lze zastavit jednoduše tím, že nedojde k rekurzi:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // spustíme pouze pokud je čítač menší než 10
timer();
}
}, 1000);
}
timer();
Vypište do konzole číslo 0. Za
vteřinu vypište číslo 1, za dvě
vteřiny vypište číslo 2, za 3
vteřiny vypište číslo 3. A tak dále
do nekonečna.