Menunggu Fungsi Panggilan Balik Asynchronous Secara serentak
Mencapai penyegerakan berbilang fungsi panggil balik tak segerak boleh mencabar. Dalam senario di mana anda memerlukan penyiapan semua fungsi sebelum meneruskan, adalah penting untuk melaksanakan mekanisme untuk menunggu penyiapannya.
Pembilang Manual dengan Tatasusunan
A mudah pendekatan melibatkan penggunaan pelbagai boolean bernama "selesai" untuk menjejak status panggil balik. Dalam setiap fungsi panggil balik, tetapkan selesai[i] kepada benar untuk menunjukkan selesainya. Buat gelung yang sentiasa menyemak sama ada semua entri dalam "selesai" ditetapkan kepada benar. Setelah selesai, teruskan dengan pengiraan yang diperlukan.
Janji jQuery
kaedah $.ajax() jQuery mengembalikan janji, yang membolehkan anda merantai dan mengendalikan operasi tak segerak . Menggunakan $.when(), anda boleh mencipta pelbagai janji dan menunggu semua janji itu diselesaikan. Apabila semua janji diselesaikan, hasilnya tersedia dalam argumen fungsi panggil balik.
Janji Standard ES6
Jika persekitaran anda menyokong janji asli, anda boleh menggunakan Promise.all (). Kaedah ini mengambil pelbagai janji dan mengembalikan satu janji yang diselesaikan sebaik sahaja semua janji input telah diselesaikan. Anda kemudiannya boleh mengakses keputusan setiap janji dalam fungsi panggil balik.
Menjanjikan Operasi Async
Jika operasi async tertentu tidak mengembalikan janji, anda boleh membuat secara manual janji untuk itu. Sertakan operasi async dalam fungsi dan gunakan kaedah resolve() di dalam panggilan balik untuk mengembalikan hasil sebagai janji.
Janji Bluebird
Bluebird, janji popular perpustakaan, memanjangkan fungsi janji standard. Promise.map() membolehkan anda memetakan dan melaksanakan operasi tak segerak dengan mudah pada tatasusunan data, memudahkan proses menunggu berbilang fungsi panggil balik.
Atas ialah kandungan terperinci Bagaimana Menunggu Fungsi Panggilan Balik Asynchronous Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!