Rumah >hujung hadapan web >tutorial js >Bagaimana Menstrukturkan Cuba dengan Betul...Tangkap Blok dengan Async/Tunggu dalam JavaScript?

Bagaimana Menstrukturkan Cuba dengan Betul...Tangkap Blok dengan Async/Tunggu dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-07 02:11:10371semak imbas

How to Correctly Structure Try...Catch Blocks with Async/Await in JavaScript?

Sintaks yang Betul untuk Cuba...Catch Blocks dengan Async/Await

Pengaturcaraan tak segerak dalam JavaScript, difasilitasi oleh Async/Await, menawarkan cara mudah untuk mengendalikan operasi tak segerak. Walau bagaimanapun, peletakan pembolehubah yang diisytiharkan dalam percubaan...catch blocks menimbulkan persoalan mengenai amalan terbaik.

Dalam contoh yang disediakan, pembolehubah yang diciptaPengguna diisytiharkan di luar cubaan...catch block untuk membenarkan penggunaannya selepas tunggu luahan. Walau bagaimanapun, amalan menggabungkan berbilang baris logik perniagaan dalam badan percubaan secara amnya tidak digalakkan.

Amalan Terbaik

Pendekatan pilihan adalah untuk merangkum semua operasi tak segerak dalam cuba sekat, memastikan bahawa sebarang pengecualian dipintas. Ini membolehkan pengendalian ralat menyeluruh dan menghalang penempatan logik di luar blok cuba.

try {
  const createdUser = await this.User.create(userInfo);

  // Business logic can be placed here as exceptions will be caught.
  console.log(createdUser);
  // ... additional business logic ...
} catch (error) {
  console.error(error); // Handle error from creation or business logic.
}

Pilihan Alternatif

Jika penting untuk memisahkan pengendalian ralat daripada logik perniagaan, pertimbangkan alternatif ini:

  • Isytiharkan pembolehubah di luar blok dan tetapkan dalam blok.
  • Uji jenis pengecualian yang ditangkap untuk pengendalian atau pelempar semula khusus.
  • Gunakan kaedah .then() dengan panggilan balik yang berasingan untuk janji yang dipenuhi dan ditolak, menyediakan penyelesaian yang mudah dan mudah.

Walaupun sintaks pengecualian bersyarat tidak disokong secara asli dalam JavaScript, pengendalian ralat tersuai boleh dilaksanakan oleh melontar semula pengecualian dalam pengendali .catch() jika perlu.

Atas ialah kandungan terperinci Bagaimana Menstrukturkan Cuba dengan Betul...Tangkap Blok dengan Async/Tunggu 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