Pornirea timerului în JavaScript
Deși funcția setTimeout nu este destinată
pentru a crea timere, cu toate acestea, ele
pot fi făcute cu ajutorul ei, dacă folosim
recursia:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // ne vom apela pe noi înșine
}, 1000);
}
timer();
Oprirea unui astfel de timer se poate face pur și simplu nepermițând apariția recursiei:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // pornim doar dacă contorul este mai mic decât 10
timer();
}
}, 1000);
}
timer();
Afișați în consolă numărul 0. După
o secundă afișați numărul 1, după două
secunde afișați numărul 2, după 3
secunde afișați numărul 3. Și așa mai departe
până la infinit.