Démarrage d'un minuteur en JavaScript
Bien que la fonction setTimeout ne soit pas conçue
pour créer des minuteurs, il est néanmoins possible
de le faire avec son aide, en utilisant la
récursivité :
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // nous nous appelons nous-mêmes
}, 1000);
}
timer();
Il est possible d'arrêter un tel minuteur simplement en empêchant la récursivité de se produire :
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // ne démarrer que si le compteur est inférieur à 10
timer();
}
}, 1000);
}
timer();
Affichez dans la console le nombre 0. Après
une seconde, affichez le nombre 1, après deux
secondes affichez le nombre 2, après 3
secondes affichez le nombre 3. Et ainsi de suite
à l'infini.