Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melaksanakan Fungsi setInterval Tanpa Kelewatan pada Larian Pertama?

Bagaimana untuk Melaksanakan Fungsi setInterval Tanpa Kelewatan pada Larian Pertama?

DDD
Lepaskan: 2024-11-09 09:23:02
asal
479 orang telah melayarinya

How to Execute setInterval Function Without Delay on the First Run?

Laksanakan Fungsi setInterval Tanpa Lengah pada Larian Pertama

Dalam JavaScript, kaedah setInterval menjadualkan fungsi untuk dilaksanakan berulang kali selepas selang waktu tertentu. Walau bagaimanapun, secara lalai, terdapat kelewatan sebelum pelaksanaan pertama fungsi.

Untuk mengatasi kelewatan ini dan melaksanakan fungsi dengan segera pada panggilan pertama, kita boleh menggunakan salah satu kaedah berikut:

Kaedah 1: Panggilan Fungsi Terus

Pendekatan ini melibatkan panggilan fungsi secara manual sebelum memanggil setInterval.

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

Kaedah 2: Fungsi Pencetusan Kendiri Menggunakan setTimeout

Teknik ini mengelakkan penggunaan setInterval dan sebaliknya bergantung pada fungsi setTimeout untuk mencetuskan pelaksanaan seterusnya.

function foo() {
    // Do stuff...

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

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

setTimeout memastikan selang minimum antara panggilan fungsi, menghapuskan kemungkinan isu daripada pelaksanaan berbilang fungsi yang menimbun tanpa berlengah-lengah.

Kaedah 3: Ungkapan Fungsi Dipanggil Segera (IIFE)

Untuk memudahkan proses, kita boleh menggunakan IIFE untuk mentakrifkan fungsi, panggilnya pada mulanya dan mulakan gelung sekali gus.

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

Pendekatan ini menawarkan kelebihan mentakrifkan fungsi dan memulakan gelung secara serentak.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi setInterval Tanpa Kelewatan pada Larian Pertama?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan