Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah Async/Await dan .then/.catch Digunakan Bersama untuk Pengendalian Ralat dalam JavaScript?

Bolehkah Async/Await dan .then/.catch Digunakan Bersama untuk Pengendalian Ralat dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-02 02:48:30477semak imbas

Can Async/Await and .then/.catch Be Used Together for Error Handling in JavaScript?

Menggunakan Async/Await dan .then/.catch

Async/wait dan .then/.catch ialah kedua-dua mekanisme pengendalian ralat dalam JavaScript . Walaupun async/await lebih ringkas dan moden, .then/.catch kekal sebagai pilihan yang berdaya maju. Bolehkah menggunakannya bersama-sama memberikan apa-apa faedah atau kelemahan?

Coretan kod yang anda berikan mempamerkan senario di mana kedua-dua mekanisme digunakan bersama. Walau bagaimanapun, jawapannya mencadangkan untuk menggantikan try/catch dengan gabungan async/wait dan .catch. Ini memudahkan kod dan menyimpannya dalam skop segerak yang ditetapkan oleh fungsi async.

Berikut ialah contoh:

<code class="javascript">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 contoh ini, asyncTask membuang ralat, yang dikendalikan oleh .catch block dalam kaedah async utama. Ralat dilog ke konsol, manakala pelaksanaan diteruskan dengan baris seterusnya, di mana pembolehubah hasil ditetapkan kepada tidak ditentukan kerana fungsi tidak mengembalikan nilai eksplisit.

Kesimpulannya, semasa menggunakan kedua-dua async/wait dan . then/.catch together mungkin tidak mengakibatkan sebarang kemudaratan, biasanya disyorkan untuk menggunakan gabungan async/wait dan .catch yang lebih ringkas dan moden untuk pengendalian ralat dalam fungsi async. Pendekatan ini memastikan kekompakan kod dan mengekalkan skop segerak yang ditetapkan oleh kata kunci async.

Atas ialah kandungan terperinci Bolehkah Async/Await dan .then/.catch Digunakan Bersama untuk Pengendalian Ralat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn