Bagaimana untuk Melaksanakan setInterval dalam JavaScript Tanpa Kelewatan Awal?

Linda Hamilton
Lepaskan: 2024-11-09 13:44:02
asal
822 orang telah melayarinya

How to Execute setInterval in JavaScript Without an Initial Delay?

Melaksanakan setInterval Tanpa Kelewatan Permulaan

Dalam JavaScript, kaedah setInterval mengulangi pelaksanaan fungsi pada selang waktu tertentu. Walau bagaimanapun, secara lalai, terdapat kelewatan yang ketara sebelum pelaksanaan pertama. Artikel ini meneroka cara untuk menghapuskan kelewatan ini.

Walaupun mungkin untuk memanggil fungsi secara manual sebelum memulakan pemasa, ia tidak sesuai dan boleh dilupakan dengan mudah. Pendekatan yang lebih berkesan ialah menggunakan setTimeout dalam fungsi itu sendiri:

function foo() {
   // Execute function body
   // ...

   // Schedule subsequent execution
   setTimeout(foo, delay);
}

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

Pendekatan ini memastikan selang yang konsisten antara pelaksanaan fungsi sambil memberikan fleksibiliti untuk menamatkan gelung dengan mengetepikan panggilan setTimeout apabila perlu.

Sebagai alternatif, ungkapan fungsi yang dipanggil serta-merta (IIFE) boleh digunakan untuk mencipta dan memulakan gelung dalam satu langkah:

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

Kaedah ini menghapuskan kelewatan awal dan memudahkan proses persediaan dengan merangkum fungsi dan jadual pelaksanaan dalam blok serba lengkap. Sama ada anda lebih suka panggilan terus, kaedah setTimeout atau pendekatan IIFE, teknik ini menawarkan penyelesaian yang mudah untuk melaksanakan setInterval tanpa kelewatan awal yang tidak diingini.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan setInterval dalam JavaScript Tanpa Kelewatan Awal?. 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