function doKeyDown(event) {
switch (event.keyCode) {
case 32:
/* Space bar was pressed */
if (x == 4) {
setInterval(drawAll, 20);
}
else {
setInterval(drawAll, 20);
x += dx;
}
break;
}
}
Halo semua,
Saya ingin menelepon drawAll()
sekali tidak membuat loop panggilan itu drawAll
lagi dan lagi, haruskah saya menggunakan metode rekursif untuk itu atau haruskah saya gunakan clearInterval
?
Juga tolong beritahu saya untuk menggunakan clearInterval
? Terima kasih :)
sumber
setInterval
atausetTimeout
.setInterval(doStuff);
. Meneruskan string ke dalamsetInterval
adalah panggilan implisit keeval
. Lebih baik meneruskan referensi fungsi sebagai gantinya.Gunakan
setTimeout(drawAll, 20)
sebagai gantinya. Itu hanya menjalankan fungsi sekali.sumber
Saya menggunakan sudut dengan elektron,
Dalam kasus saya,
setInterval
mengembalikan objek Timer Nodejs. yang ketika saya menyebutnyaclearInterval(timerobject)
tidak berhasil.Saya harus mendapatkan id terlebih dahulu dan menelepon ke clearInterval
clearInterval(timerobject._id)
Saya telah berjuang berjam-jam dengan ini. semoga ini membantu.
sumber
Catatan tambahan - jika Anda ingin menggunakan fungsi terpisah untuk mengatur & menghapus interval, variabel interval harus dapat diakses untuk semuanya, dalam lingkup 'relative global', atau 'satu level up':
var interval = null; function startStuff(func, time) { interval = setInterval(func, time); } function stopStuff() { clearInterval(interval); }
sumber