Bagaimanakah Saya Boleh Melaksanakan Fungsi `setInterval` Dengan Segera?

Susan Sarandon
Lepaskan: 2024-11-09 01:57:02
asal
350 orang telah melayarinya

How Can I Execute a `setInterval` Function Immediately?

Melaksanakan setInterval Serta-merta

Kaedah setInterval biasanya digunakan untuk melaksanakan fungsi pada selang masa yang tetap. Walau bagaimanapun, ia mula melaksanakan fungsi selepas kelewatan yang ditentukan. Untuk melaksanakan fungsi dengan segera dan terus melaksanakannya dengan pemasa, terdapat pendekatan alternatif.

Panggilan Fungsi Langsung

Penyelesaian paling mudah ialah memanggil fungsi secara langsung sebagai yang pertama masa sebelum menetapkan selang:

foo();
setInterval(foo, delay);
Salin selepas log masuk

Fungsi Pencetusan Kendiri Menggunakan setTimeout

Untuk mengelakkan potensi isu dengan setInterval, pendekatan alternatif ialah menggunakan setTimeout untuk fungsi mencetuskan dirinya sendiri:

function foo() {
  // ...
  setTimeout(foo, delay);
}

// Start the cycle
foo();
Salin selepas log masuk

Pendekatan ini memastikan kelewatan antara panggilan fungsi dan memudahkan membatalkan gelung apabila diperlukan.

Ungkapan Fungsi Dipanggil Serta-merta (IIFE)

Akhir sekali, untuk penyelesaian satu pukulan, anda boleh menggunakan ungkapan fungsi yang dipanggil serta-merta:

(function foo() {
  ...
  setTimeout(foo, delay);
})();
Salin selepas log masuk

Pendekatan ini mentakrifkan fungsi, memanggilnya dengan segera dan memulakan gelung sekali gus.

Ingat bahawa pendekatan ini mempunyai kelemahannya, seperti kemungkinan kebocoran memori atau masalah prestasi jika fungsi memanggil menjadi terlalu kerap. Gunakan setInterval dengan berhati-hati dan pertimbangkan alternatif ini apabila pelaksanaan segera dikehendaki.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi `setInterval` Dengan Segera?. 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