Dalam JavaScript, menunggu berbilang fungsi async mungkin memberi gambaran bahawa ia laksana secara berurutan dan bukannya serentak. Ini menimbulkan persoalan: bagaimanakah kita boleh mencapai pelaksanaan selari bagi fungsi-fungsi ini?
Untuk melaksanakan fungsi async secara selari, anda boleh menggunakan Promise.all( ) fungsi. Ia memerlukan pelbagai janji sebagai hujah dan mengembalikan satu janji yang diselesaikan apabila semua janji dalam tatasusunan diselesaikan.
await Promise.all([someCall(), anotherCall()]);
Dalam kod ini, someCall() dan anotherCall() dipanggil serentak, dan skrip diteruskan hanya apabila kedua-dua fungsi telah selesai dilaksanakan.
Jika anda ingin mengakses hasil daripada panggilan async selari, anda boleh memusnahkan tatasusunan yang dikembalikan oleh Promise.all():
let [someResult, anotherResult] = await Promise.all([someCall(), anotherCall()]);
Adalah penting untuk ambil perhatian bahawa Promise.all () mengikut pendekatan "fail-fast". Jika mana-mana janji dalam tatasusunan menolak, seluruh janji Promise.all() akan ditolak dengan ralat daripada janji gagal pertama:
// If any of the promises fails, it will reject Promise.all([happy('happy', 100), sad('sad', 50)]).then(console.log).catch(console.log);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Berbilang Fungsi JavaScript Async Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!