Rumah > Artikel > hujung hadapan web > Bagaimanakah Saya Boleh Melaksanakan Fungsi Async secara Selari dalam 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!