Rumah > hujung hadapan web > tutorial js > Bagaimana Menggunakan Try...Catch dengan Async/Await dalam JavaScript dengan betul?

Bagaimana Menggunakan Try...Catch dengan Async/Await dalam JavaScript dengan betul?

DDD
Lepaskan: 2024-12-29 04:37:10
asal
416 orang telah melayarinya

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

Cuba Betul...Tangkap Sintaks Menggunakan Async/Await

Dalam ciri Async/Await JavaScript, adalah perkara biasa untuk mengisytiharkan pembolehubah yang menunggu ungkapan di luar percubaan ...tangkap blok untuk memastikan kebolehaksesan mereka kemudian. Walau bagaimanapun, adalah amalan terbaik untuk meminimumkan logik perniagaan dalam badan percubaan untuk mengendalikan pengecualian dengan berkesan.

Amalan Terbaik

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

  console.log(createdUser);
  // Business logic goes here
} catch (error) {
  console.error(error); // from creation or business logic
}
Salin selepas log masuk

Pendekatan ini memastikan semua pengecualian, termasuk daripada logik perniagaan, ditangkap.

Pilihan Alternatif untuk Mengendalikan Ralat Janji

Jika anda mahu tangkap ralat hanya dari janji, pertimbangkan pilihan berikut:

1. Isytiharkan Pembolehubah Di Luar dan Kendalikan Ralat

Isytiharkan pembolehubah di luar blok dan kendalikan ralat melalui percabangan:

let createdUser;
try {
  createdUser = await this.User.create(userInfo);
} catch (error) {
  console.error(error); // from creation
}
if (createdUser) {
  // User was created successfully
  console.log(createdUser);
  // Business logic goes here
}
Salin selepas log masuk

2. Jenis Pengecualian Tertangkap Ujian

Semak jenis pengecualian yang ditangkap dan kendalikan sewajarnya:

try {
  const createdUser = await this.User.create(userInfo);
  // User was successfully created
  console.log(createdUser);
  // Business logic goes here
} catch (error) {
  if (error instanceof CreationError) {
    console.error(error); // from creation
  } else {
    throw error;
  }
}
Salin selepas log masuk

3. Gunakan .then() Panggilan Balik

Alternatif untuk mencuba...penangkapan yang menawarkan kesederhanaan dan ketepatan menggunakan .then() panggil balik:

await this.User.create(userInfo).then(
  (createdUser) => {
    // User was created successfully
    console.log(createdUser);
    // Business logic goes here
  },
  (error) => {
    console.error(error); // from creation
  }
);
Salin selepas log masuk

Pertimbangkan kelebihan dan kekurangan setiap pilihan berdasarkan keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana Menggunakan Try...Catch dengan Async/Await dalam JavaScript dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan