Menjalankan Timer di JavaScript
Meskipun fungsi setTimeout tidak dimaksudkan
untuk membuat timer, namun kita tetap bisa
membuatnya dengan fungsi tersebut jika menggunakan
rekursi:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // memanggil diri sendiri
}, 1000);
}
timer();
Menghentikan timer seperti ini dapat dilakukan dengan cara mencegah rekursi terjadi:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // jalankan hanya jika pencacah kurang dari 10
timer();
}
}, 1000);
}
timer();
Tampilkan angka 0 di konsol. Setelah
satu detik tampilkan angka 1, setelah dua
detik tampilkan angka 2, setelah 3
detik tampilkan angka 3. Dan seterusnya
tanpa batas.