Fungsi Async dalam JavaScript dengan 'async' dan 'menunggu'
Pengaturcaraan tak segerak adalah penting dalam model JavaScript. Apabila operasi tak segerak selesai, melaksanakan kod tambahan selepas itu adalah perkara biasa. Sebelum ini, panggilan balik telah digunakan untuk tujuan ini. Walau bagaimanapun, panggilan balik bersarang boleh membawa kepada "neraka panggilan balik."
Janji
Janji memperbaiki masalah yang berkaitan dengan panggilan balik bersarang. Mereka membolehkan rantaian melalui "rantai janji," yang menyediakan sintaks dan pengendalian ralat yang lebih bersih. Contohnya:
<code class="javascript">const randomProm = new Promise((resolve, reject) => { if (Math.random() > 0.5) { resolve('Succes'); } else { reject('Failure'); } }); // Promise chain randomProm .then((value) => { console.log('inside then1'); console.log(value); return value; }) .then((value) => { console.log('inside then2'); console.log(value); return value; }) .catch((value) => { console.log('inside catch'); console.log(value); });</code>
Kata Kunci 'async' dan 'menunggu'
Fungsi tak segerak, juga dikenali sebagai "fungsi tak segerak," telah diperkenalkan untuk memudahkan lagi pengaturcaraan tak segerak . Fungsi ini diawali dengan kata kunci async dan membenarkan penggunaan kata kunci await.
menunggu jeda pelaksanaan fungsi tak segerak sehingga ungkapan di dalamnya (biasanya Janji) selesai. Fungsi disambung semula sebaik sahaja ungkapan diselesaikan. Contohnya:
<code class="javascript">async function myAsyncFunc() { try { const result = await randomProm; console.log(result); } catch (error) { console.log(error); } } myAsyncFunc();</code>
Dalam contoh ini, myAsyncFunc ialah fungsi async yang menunggu hasil Promise rawak. Setelah Janji diselesaikan atau ditolak, cawangan sepadan blok cuba/tangkap dilaksanakan. Dengan menggunakan async dan menunggu, kami menghapuskan keperluan untuk logik panggil balik yang kompleks dan meningkatkan kebolehbacaan kod.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan 'async' dan 'waiit' untuk Pengaturcaraan Asynchronous Smooth dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!