Rumah > Artikel > hujung hadapan web > Adakah berfaedah untuk mencampur async/menunggu dan .then() dalam JavaScript?
Mencampurkan Async/Await dan .then() dalam JavaScript
Soalan:
Adakah dinasihatkan untuk menggunakan kedua-dua async /await dan .then().catch() dalam fungsi tak segerak yang sama, seperti yang dilihat di bawah?
async apiCall(params) { var results = await this.anotherCall() .then(results => { //do any results transformations return results; }) .catch(error => { //handle any errors here }); return results; }
Jawapan:
Menggunakan async/await dan .catch() bersama-sama boleh memberikan pengendalian ralat yang ringkas dan cekap dalam JavaScript. Inilah sebabnya:
Kod Padat:
Async/wait membenarkan sintaks yang berurutan, seperti segerak dalam kod tak segerak, manakala .catch() mengendalikan pengendalian ralat. Dengan menggabungkan kedua-duanya, anda boleh mencapai pengurusan ralat yang bersih dan padu tanpa memerlukan sekatan cuba/tangkap.
Contoh:
Pertimbangkan contoh berikut:
<code class="js">async function asyncTask() { throw new Error('network') } async function main() { const result = await asyncTask().catch(error => console.error(error)); console.log('result:', result) } main();</code>
Dalam kod ini, fungsi asyncTask melemparkan ralat rangkaian, yang dikendalikan dengan anggun oleh .catch() blok. Ralat dicetak ke konsol dan kod terus dilaksanakan tanpa menjejaskan fungsi utama.
Faedah:
Menggunakan async/await dan .catch() bersama-sama menawarkan beberapa kelebihan:
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa mencampurkan async/menunggu dan .then() tidak perlu boleh memperkenalkan kerumitan yang tidak perlu dan potensi panggilan balik neraka. Oleh itu, biasanya disyorkan untuk menggunakan async/wait dan .catch() hanya apabila perlu.
Atas ialah kandungan terperinci Adakah berfaedah untuk mencampur async/menunggu dan .then() dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!