Menjalankan Pemetik Masa dalam JavaScript
Walaupun fungsi setTimeout tidak bertujuan
untuk mencipta pemetik masa, namun ia masih boleh
digunakan untuk tujuan tersebut dengan menggunakan
rekursi:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // panggil diri sendiri
}, 1000);
}
timer();
Menghentikan pemetik masa seperti ini boleh dilakukan dengan hanya menghalang rekursi daripada berlaku:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // jalankan hanya jika pembilang kurang daripada 10
timer();
}
}, 1000);
}
timer();
Paparkan nombor 0 dalam konsol. Selepas
satu saat, paparkan nombor 1, selepas dua
saat paparkan nombor 2, selepas 3
saat paparkan nombor 3. Dan seterusnya
hingga infiniti.