Pendapatan Nilai Fungsi Asynchronous Menggunakan Async-Await
Apabila bekerja dengan fungsi tak segerak dalam JavaScript yang menggunakan sintaks async-wait, adalah perlu untuk kembalikan nilai dengan betul untuk fungsi pemanggil untuk digunakan.
Kepada mengembalikan nilai daripada fungsi async, anda mesti menggunakan kata kunci pulangan seperti yang diharapkan. Walau bagaimanapun, jika anda cuba mengakses nilai pulangan di luar skop async, seperti yang ditunjukkan dalam sampel kod yang disediakan, anda akan menerima objek Promise dalam keadaan belum selesai.
Untuk menyelesaikan isu ini, adalah perlu untuk balut penyata pengelogan konsol anda dalam IIFE async (Ungkapan Fungsi Diminta Segera), seperti yang dilihat di sini:
(async () => { console.log(await getData()); })();
Ini membolehkan skop async menjadi dipelihara, membolehkan fungsi mengakses dan mengembalikan nilai yang diingini.
Perhatikan bahawa memandangkan pustaka axios mengembalikan janji, sintaks async-wait juga boleh ditiadakan untuk fungsi getData, seperti yang ditunjukkan di bawah:
function getData() { return axios.get('https://jsonplaceholder.typicode.com/posts'); }
Anda kemudiannya boleh membungkus pernyataan pengelogan konsol dalam IIFE async seperti yang diterangkan di atas untuk mendapatkan semula nilai daripada fungsi getData. Maklumat lanjut tentang async/menunggu boleh didapati dalam talian.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai daripada Fungsi Asynchronous Menggunakan Async-Await?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!