Melengahkan Gelung JavaScript
Ada kemungkinan untuk memperkenalkan kelewatan ke dalam gelung JavaScript menggunakan fungsi setTimeout(). Walau bagaimanapun, kelakuan lalai setTimeout() adalah untuk dilaksanakan serta-merta. Untuk memperkenalkan kelewatan, kita perlu menggunakan gelung rekursif.
Satu cara untuk mencapainya ialah menggunakan gelung for dan memanggil setTimeout() dalam gelung. Walau bagaimanapun, pendekatan ini menghadapi masalah kerana semua setTimeouts akan dijadualkan serta-merta, membawa kepada berbilang makluman muncul serentak.
Untuk menyelesaikannya, kita perlu menggunakan fungsi rekursif yang memanggil dirinya sendiri dengan kelewatan. Kod berikut menunjukkan pendekatan ini:
var i = 1; // set your counter to 1 function myLoop() { // create a loop function setTimeout(function() { // call a 3s setTimeout when the loop is called console.log('hello'); // your code here i++; // increment the counter if (i < 10) { // if the counter < 10, call the loop function myLoop(); // .. again which will trigger another } // .. setTimeout() }, 3000) } myLoop(); // start the loop
Dalam kod ini, kami mencipta fungsi rekursif yang dipanggil myLoop() yang mengandungi setTimeout() 3 saat. Dalam tamat masa, kami menambah kaunter dan menyemak sama ada ia kurang daripada 10. Jika ya, kami memanggil myLoop() sekali lagi, sekali gus memperkenalkan kelewatan antara setiap makluman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memperkenalkan Kelewatan ke dalam Gelung JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!