Apabila cuba menggunakan kata kunci await dalam JavaScript, anda mungkin menghadapi ralat "menunggu hanya sah dalam fungsi async." Ralat ini timbul apabila kata kunci await digunakan secara tidak betul.
Dalam senario anda, ralat berkenaan dengan fungsi mula dan bukannya fungsi myfunction. Fungsi myfunction ditakrifkan dengan betul sebagai fungsi tak segerak, membolehkan anda menggunakan kata kunci tunggu di dalamnya. Walau bagaimanapun, fungsi mula tidak ditakrifkan sebagai fungsi tak segerak.
Untuk membetulkannya, fungsi mula harus diubah suai untuk menjadi fungsi tak segerak, membolehkan penggunaan kata kunci await di dalamnya. Berikut ialah contoh bagaimana fungsi mula boleh ditulis semula:
async function start(a, b) { const result = await myfunction(a, b); console.log(result); // Do something with the result }
Dengan menjadikan fungsi mula tidak segerak, anda kini boleh menggunakan kata kunci await untuk menjeda pelaksanaan fungsi sehingga fungsi myfunction selesai perlaksanaan. Ini penting kerana ia menjamin pembolehubah hasil mengandungi data yang dijangkakan sebelum meneruskan dengan kod berikutnya.
Atas ialah kandungan terperinci Mengapa 'menunggu hanya sah dalam fungsi async' Muncul Apabila Menggunakan `menunggu` Di Luar Fungsi Async?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!