Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Melaksanakan Fungsi Async secara Selari dalam JavaScript?

Bagaimanakah Saya Boleh Melaksanakan Fungsi Async secara Selari dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-24 03:35:10377semak imbas

How Can I Execute Async Functions in Parallel in JavaScript?

Melaksanakan Fungsi Async secara Selari

Dalam ES7/ES2016, pelaksanaan berurutan bagi ekspresi menunggu ialah tingkah laku lalai, sama seperti merantai janji dengan . kemudian(). Walau bagaimanapun, untuk melakukan panggilan tak segerak secara selari, terdapat pendekatan alternatif.

Pelaksanaan Selari dengan Promise.all()

Satu penyelesaian yang elegan ialah menggunakan Promise.all( ). Kaedah ini mengambil pelbagai janji dan mengembalikan satu janji yang diselesaikan kepada pelbagai hasil:

await Promise.all([someCall(), anotherCall()]);

Untuk menyimpan hasil individu, anda boleh memusnahkan nilai pulangan kepada pembolehubah:

let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);

Kaveat: Tangani Penolakan dengan catch()

Perhatikan bahawa Promise.all() melaksanakan semantik "fail fast". Ini bermakna jika mana-mana satu daripada janji input menolak, keseluruhan operasi akan menolak dengan ralat daripada janji yang gagal. Untuk menangkap dan mengendalikan kemungkinan ralat, gunakan kaedah .catch().

Contohnya:

Promise.all([happy('happy', 100), sad('sad', 50)])
  .then(console.log).catch(console.log); // Logs 'sad'

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi Async secara Selari dalam JavaScript?. 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