Bagaimana untuk Melaksanakan Fungsi Tunggu dalam JavaScript untuk Tugas Asynchronous?

Patricia Arquette
Lepaskan: 2024-10-26 03:02:27
asal
187 orang telah melayarinya

How to Implement a Wait Function in JavaScript for Asynchronous Tasks?

Masa Kelewatan dalam JavaScript

Memahami kelewatan pemasaan dalam JavaScript adalah penting untuk membina aplikasi web yang responsif dan cekap. Dalam artikel ini, kami akan menangani masalah menunggu masa tertentu sebelum melaksanakan baris kod.

Isunya:

Pemaju JavaScript yang baru ditemui isu di mana fungsi tidak menunggu seperti yang dimaksudkan sebelum menilai keadaan. Tingkah laku yang dijangkakan ialah menunggu selama 5 saat sebelum menyemak sama ada keadaan tertentu telah berubah. Walau bagaimanapun, fungsi semasa menyemak serta-merta dan bukannya menunggu.

Penyelesaian:

Untuk mencapai tingkah laku yang diingini ini, kita boleh menggunakan pendekatan berikut:

Pelayar:

Menggunakan sintaks async/menunggu moden (tersedia dalam penyemak imbas yang menyokong ECMAScript 6 dan ke atas), kami boleh menggunakan penyelesaian berikut:

<code class="javascript">const delay = ms => new Promise(res => setTimeout(res, ms));

async function yourFunction() {
  await delay(5000);
  console.log("Waited 5s");

  await delay(5000);
  console.log("Waited an additional 5s");
}</code>
Salin selepas log masuk

Pendekatan ini memudahkan kod dengan menjadikannya kelihatan segerak, walaupun dilaksanakan secara tidak segerak.

Node.js:

Untuk Node.js versi 16 dan ke atas, kami boleh memanfaatkan fungsi setTimeout berasaskan janji terbina dalam:

<code class="javascript">import { setTimeout } from "timers/promises";

async function yourFunction() {
  await setTimeout(5000);
  console.log("Waited 5s");

  await setTimeout(5000);
  console.log("Waited an additional 5s");
}</code>
Salin selepas log masuk

Awas:

Adalah penting untuk ambil perhatian bahawa menggunakan fungsi kelewatan untuk mengelakkan keadaan perlumbaan (terutamanya apabila menguji tak segerak kod) harus dilakukan dengan berhati-hati, kerana ia selalunya boleh membawa kepada penyelesaian yang tidak optimum.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Fungsi Tunggu dalam JavaScript untuk Tugas Asynchronous?. 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