Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menjalankan Operasi Asynchronous Secara serentak dalam JavaScript dengan Pengendalian Ralat yang Betul?
Pelaksanaan Operasi Menunggu Serentak
Coretan kod yang dipersoalkan menghadapi isu semasa melakukan operasi tak segerak:
const value2 = menunggu getValue2Async();
Pelaksanaan ini secara berurutan menunggu penyiapan setiap operasi sebelum memulakan operasi seterusnya. Untuk mendayakan pelaksanaan serentak, pendekatan yang diubah suai diperlukan.
Penyelesaian pertama yang dikemukakan cuba untuk menangani perkara ini dengan mendapatkan janji untuk setiap operasi, kemudian menunggunya secara berasingan:
const p1 = getValue1Async();
const p2 = getValue2Async();
const value1 = tunggu p1;
const value2 = tunggu p2;
Sementara kaedah ini melakukannya jalankan kedua-dua operasi secara selari, ia tidak mengendalikan penolakan dengan betul jika kedua-dua janji menolak. Ia juga menunggu operasi pertama selesai sebelum memulakan operasi kedua, yang tidak cekap.
Untuk menyelesaikan isu ini, fungsi Promise.all boleh digunakan:
const [nilai1, nilai2] = menunggu Promise.all([getValue1Async(), getValue2Async()]);
Promise.all mengambil pelbagai janji dan mengembalikan satu janji yang diselesaikan apabila semua input berjanji telah diselesaikan atau ditolak. Pendekatan ini menawarkan beberapa kelebihan:
Ringkasnya, untuk melaksanakan operasi tak segerak serentak dengan pengendalian penolakan yang betul, gunakan Promise.all:
<br>const [value1, value2] = menunggu Promise.all([getValue1Async(), getValue2Async()]);<br>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Operasi Asynchronous Secara serentak dalam JavaScript dengan Pengendalian Ralat yang Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!