Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melaksanakan Kelewatan dalam Gelung JavaScript dengan Betul?

Bagaimana untuk Melaksanakan Kelewatan dalam Gelung JavaScript dengan Betul?

Susan Sarandon
Lepaskan: 2025-01-02 20:47:38
asal
826 orang telah melayarinya

How to Properly Implement Delays in JavaScript Loops?

Melaksanakan Kelewatan dalam Gelung JavaScript

Apabila bekerja dengan gelung dalam JavaScript, kadangkala perlu memperkenalkan kelewatan atau tempoh tidur untuk mengawal pelaksanaan aliran. Mari kita terokai cara untuk mencapai ini menggunakan fungsi setTimeout().

Percubaan 1: Menggunakan setTimeout()

Satu pendekatan biasa ialah menggunakan setTimeout() untuk mencipta kelewatan berasaskan masa. Walau bagaimanapun, meletakkan setTimeout() terus di dalam gelung boleh membawa kepada tingkah laku yang tidak dijangka. Sebagai contoh, kod berikut cuba melambatkan setiap lelaran sebanyak 3 saat:

for (var start = 1; start < 10; start++) {
  setTimeout(function () {
    alert('hello');
  }, 3000);
}
Salin selepas log masuk

Walaupun kod ini pada mulanya akan memaparkan mesej 'hello' selepas 3 saat, ia kemudiannya akan memaparkan mesej secara berterusan tanpa sebarang kelewatan. Ini berlaku kerana setTimeout() tidak menyekat dan kembali serta-merta, membenarkan gelung selesai sebelum tempoh kelewatan telah berlalu.

Pendekatan Alternatif: Gelung Berulang

Kepada mencapai kelewatan yang diingini, kita boleh menggunakan gelung berulang dengan panggilan setTimeout() di dalam a function:

var i = 1;

function myLoop() {
  setTimeout(function () {
    console.log('hello');
    i++;
    if (i < 10) {
      myLoop();
    }
  }, 3000);
}

myLoop();
Salin selepas log masuk

Dalam kes ini, fungsi myLoop() dipanggil pada mulanya, menyediakan pencetus setTimeout() pertama. Kemudian, dalam panggilan balik setTimeout(), mesej dicetak, pembilang ditambah, dan jika pembilang masih kurang daripada 10, fungsi myLoop() dipanggil semula. Ini memastikan bahawa lelaran gelung seterusnya dicetuskan hanya selepas kelewatan 3 saat berlalu.

Dengan menggunakan gelung lelaran bersama setTimeout(), anda boleh memperkenalkan kelewatan dalam gelung JavaScript dengan berkesan dan mengawal aliran pelaksanaan dengan tepat.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kelewatan dalam Gelung JavaScript dengan Betul?. 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