Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menjalankan Fungsi JavaScript pada Selang Biasa?

Bagaimanakah Saya Boleh Menjalankan Fungsi JavaScript pada Selang Biasa?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 20:28:11957semak imbas

How Can I Run a JavaScript Function at Regular Intervals?

Teknik Menjalankan fungsi pada selang masa yang tetap

Dalam senario tertentu, timbul keperluan untuk melaksanakan fungsi pada selang masa yang telah ditetapkan. Fungsi setTimeout() menyediakan kaedah mudah untuk mencapai ini:

setTimeout(function, 60000);

Coretan kod ini akan mencetuskan pelaksanaan fungsi yang disediakan selepas kelewatan selama 60 saat. Walau bagaimanapun, jika keperluan adalah untuk menggunakan fungsi berulang kali pada selang masa tetap, pendekatan yang berbeza diperlukan.

setInterval() untuk Pelaksanaan Serentak

Jika masa pelaksanaan bagi fungsi itu tidak membimbangkan dan boleh melebihi selang yang ditentukan, fungsi setInterval() adalah berdaya maju pilihan:

setInterval(function, delay)

Kaedah ini memastikan bahawa fungsi akan dipanggil berulang kali pada kelewatan yang ditentukan.

Encapsulating Execution dengan setTimeout()

Pendekatan yang lebih mantap, yang menjamin bahawa masa pelaksanaan fungsi tidak melebihi selang, melibatkan penggunaan setTimeout() bersama-sama dengan fungsi tanpa nama laksana sendiri:

(function(){
    // Perform desired actions
    setTimeout(arguments.callee, 60000);
})();

Pendekatan ini memastikan bahawa panggilan berikutnya kepada fungsi tersebut tidak dimulakan sehingga pelaksanaan sebelumnya telah selesai. Rujukan arguments.callee tidak digunakan dalam ECMAScript 5 dan boleh digantikan dengan fungsi bernama untuk kejelasan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Fungsi JavaScript pada Selang Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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