Operasi Async Serentak dengan Promise.all
Pertimbangkan operasi tak segerak berikut:
const value1 = await getValue1Async(); const value2 = await getValue2Async();
Bagaimanakah kita boleh mencetuskan kedua-dua operasi serentak dan memberi mereka peluang untuk menjalankannya selari?
Penyelesaian yang disediakan:
const p1 = getValue1Async(); const p2 = getValue2Async(); const value1 = await p1; const value2 = await p2;
menjalankan operasi secara selari, tetapi ia menunggu yang pertama selesai sebelum menunggu yang kedua. Untuk mencapai keselarasan sebenar, kita boleh menggunakan Promise.all:
const [value1, value2] = await Promise.all([getValue1Async(), getValue2Async()]);
Kelebihan Promise.all
Awas dengan penyelesaian yang disediakan
Walaupun penyelesaian yang disediakan mungkin memulakan operasi secara selari, ia mempunyai kelemahan dalam pengendalian ralat:
Kesimpulan
Untuk pelaksanaan serentak berbilang operasi tak segerak dengan pengendalian ralat yang betul, Promise.all ialah penyelesaian yang lebih dipercayai dan cekap. Ia memastikan pelaksanaan selari, kod ringkas dan pengendalian penolakan yang betul.
Atas ialah kandungan terperinci Bagaimanakah `Promise.all` Boleh Meningkatkan Operasi Asynchronous Serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!