Rumah > hujung hadapan web > tutorial js > Mengapakah `setInterval` Hanya Menjalankan Panggilan Balik Saya Sekali?

Mengapakah `setInterval` Hanya Menjalankan Panggilan Balik Saya Sekali?

Mary-Kate Olsen
Lepaskan: 2024-11-29 02:02:14
asal
311 orang telah melayarinya

Why Does `setInterval` Only Run My Callback Once?

Mengapa SetInterval Callback Dilaksanakan Sekali Sahaja?

Pertimbangkan isu berikut: anda cuba mencipta gelung tak terhingga dengan pembilang menggunakan setInterval. Walau bagaimanapun, fungsi panggil balik hanya dilaksanakan sekali. Apa yang boleh berlaku?

Kod yang disediakan ialah:

function timer() {
  console.log("timer!")
}

window.setInterval(timer(), 1000)
Salin selepas log masuk

Kesilapan berpunca daripada menggunakan panggilan fungsi dan bukannya rujukan fungsi sebagai hujah pertama setInterval.

Penggunaan Betul:

Untuk membetulkannya, anda perlu lulus rujukan fungsi itu sendiri, seperti jadi:

function timer() {
  console.log("timer!");
}

window.setInterval(timer, 1000);
Salin selepas log masuk

Sebagai alternatif, anda juga boleh menggunakan sintaks yang lebih pendek berikut:

window.setInterval( function() {
  console.log("timer!");
}, 1000)
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah `setInterval` Hanya Menjalankan Panggilan Balik Saya Sekali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan