Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mencipta Gelung Asynchronous dalam JavaScript?

Bagaimanakah Saya Boleh Mencipta Gelung Asynchronous dalam JavaScript?

DDD
Lepaskan: 2024-10-30 21:43:02
asal
597 orang telah melayarinya

How Can I Create Asynchronous Loops in JavaScript?

Gelung Asynchronous dalam JavaScript

Walaupun JavaScript menyediakan pelbagai jenis gelung, mencipta gelung yang menjeda pelaksanaan untuk menunggu panggilan tak segerak boleh mencabar. Ini kerana mencampurkan kod segerak dan tak segerak boleh membawa kepada tingkah laku yang tidak dijangka.

Penyelesaian: Terima Pendekatan Tak Segerak

Untuk mengatasi had ini, anda perlu menerima acara sepenuhnya. -pendekatan JavaScript. Ini melibatkan penggunaan fungsi yang akan dipanggil apabila panggilan tak segerak selesai. Gelung kemudiannya boleh meneruskan pelaksanaan selepas panggilan balik dipanggil.

Memperkenalkan Fungsi asyncLoop

Fungsi pembantu yang dipanggil asyncLoop boleh dibuat untuk memudahkan tingkah laku gelung tak segerak ini. Ia memerlukan tiga parameter:

  • lelaran: Bilangan kali gelung harus dijalankan.
  • func: Fungsi untuk dilaksanakan dalam setiap lelaran.
  • panggilan balik: The fungsi untuk dipanggil apabila gelung selesai.

Fungsi asyncLoop mengekalkan indeks pembolehubah dalaman untuk menjejaki lelaran semasa dan membenderakan pembolehubah yang dilakukan untuk menunjukkan apabila gelung telah selesai. Dalam fungsi tersebut, terdapat objek gelung dalaman yang menyediakan kaedah berikut:

  • next(): Memajukan gelung dengan satu lelaran.
  • iteration(): Mengembalikan lelaran semasa.
  • break(): Menamatkan gelung lebih awal.

Untuk memulakan gelung, loop.next() dipanggil. Setiap kali fungsi func digunakan, ia boleh memanggil loop.next() untuk meneruskan gelung atau loop.break() untuk menamatkannya.

Contoh Penggunaan:

Contoh berikut menunjukkan cara menggunakan fungsi asyncLoop untuk mencipta gelung asynchronous:

<code class="javascript">asyncLoop(10, (loop) => {
  someFunction(1, 2, (result) => {
    console.log(loop.iteration());
    loop.next();
  });
}, () => {
  console.log('cycle ended');
});</code>
Salin selepas log masuk

Kod ini akan melaksanakan someFunction 10 kali secara tak segerak dan log nombor lelaran dalam konsol. Mesej tamat kitaran akan dicetak apabila gelung selesai.

Dengan menggunakan pendekatan ini, pembangun JavaScript boleh mencipta gelung tak segerak yang berfungsi dengan lancar dalam persekitaran terdorong peristiwa, mengelakkan potensi isu dengan menyekat skrip dan penyemak imbas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Gelung Asynchronous 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