Iniciando um temporizador em JavaScript
Embora a função setTimeout não seja destinada
a criar temporizadores, ainda assim é possível
criá-los com ela, usando
recursão:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // chamamos a nós mesmos
}, 1000);
}
timer();
Parar esse temporizador pode ser feito simplesmente impedindo que a recursão aconteça:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // inicia apenas se o contador for menor que 10
timer();
}
}, 1000);
}
timer();
Exiba no console o número 0. Após
um segundo, exiba o número 1, após
dois segundos exiba o número 2, após 3
segundos exiba o número 3. E assim por diante
indefinidamente.