Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Melaksanakan Fungsi dengan Amanah pada Selang Biasa dalam JavaScript?

Bagaimanakah Saya Boleh Melaksanakan Fungsi dengan Amanah pada Selang Biasa dalam JavaScript?

DDD
Lepaskan: 2024-12-14 07:22:20
asal
770 orang telah melayarinya

How Can I Reliably Execute a Function at Regular Intervals in JavaScript?

Melaksanakan Fungsi pada Selang Biasa

Memanggil fungsi pada selang waktu tertentu ialah tugas biasa dalam pengaturcaraan. Fungsi setTimeout() membenarkan pelaksanaan satu kali selepas kelewatan yang ditetapkan. Walau bagaimanapun, untuk melaksanakan fungsi berulang kali setiap x saat, pendekatan alternatif diperlukan.

Menggunakan setInterval():

setInterval() berulang kali melaksanakan fungsi selepas kelewatan yang ditentukan , tidak kira berapa lama fungsi itu diambil untuk dilaksanakan. Ini boleh membawa kepada konflik penjadualan jika fungsi mengambil masa lebih lama daripada selang waktu.

setInterval(function, delay);
Salin selepas log masuk

Menggunakan setTimeout() dan Fungsi Melaksana Sendiri:

Lebih dipercayai pendekatan adalah menggunakan setTimeout() dalam kombinasi dengan fungsi tanpa nama yang dilaksanakan sendiri. Ini memastikan bahawa panggilan seterusnya tidak dibuat sehingga fungsi semasa selesai dilaksanakan.

(function(){
    // do some stuff
    setTimeout(arguments.callee, 60000);
})();
Salin selepas log masuk

Pertimbangan:

  • Menggunakan arguments.callee sebagai fungsi rujukan ditamatkan dalam ECMAScript 5. Gunakan fungsi anak panah atau fungsi bernama sebaliknya.
  • The pendekatan fungsi laksana sendiri menjamin pelaksanaan walaupun fungsi mengambil masa lebih lama daripada selang.
  • Pilih pendekatan berdasarkan keperluan khusus aplikasi anda dan implikasi prestasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi dengan Amanah pada Selang Biasa dalam JavaScript?. 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