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

Cara Menggunakan Try...Catch dengan Async/Await dalam TypeScript dengan betul?

DDD
Lepaskan: 2024-12-09 20:10:16
asal
519 orang telah melayarinya

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

Cuba Betul...Tangkap Sintaks Menggunakan Async/Await

Apabila memanfaatkan sifat tak segerak Async/Await dalam bahasa seperti TypeScript, adalah penting untuk menggunakan sintaks yang betul untuk pengendalian ralat. Satu persoalan biasa timbul mengenai penempatan pembolehubah yang akan ditunggu dalam percubaan...catch block.

Amalan Terbaik

Secara amnya dianggap sebagai amalan terbaik untuk meletakkan pengisytiharan pembolehubah di dalam blok cuba dan tetapkan nilainya di sana. Ini membenarkan pengendalian ralat dalam skop penciptaan pembolehubah dan memastikan ia sentiasa mengandungi nilai yang sah:

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

Alternatif kepada Perisytiharan Luar

Jika anda ingin mengendalikan ralat hanya daripada dalam tugasan janji, anda mempunyai tiga alternatif:

  1. Ujian untuk Pembolehubah Tugasan: Isytiharkan pembolehubah di luar blok dan semak tugasannya:
let createdUser;
try {
    createdUser = await this.User.create(userInfo);
} catch (error) {
    console.error(error); // from creation
}
if (createdUser) { // user was successfully created
    console.log(createdUser);
    // business logic goes here
}
Salin selepas log masuk
  1. Ujian Jenis Ralat: Uji pengecualian yang ditangkap untuk jenis dan mengendalikannya dengan 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
  1. Kemudian Panggilan balik: Gunakan kaedah kemudian dengan dua panggil balik dan bukannya blok cuba/tangkap:
await this.User.create(userInfo).then(createdUser => {
    // user was successfully created
    console.log(createdUser);
    // business logic goes here
}, error => {
    console.error(error); // from creation
});
Salin selepas log masuk

Setiap alternatif mempunyai kebaikan dan keburukan, jadi pertimbangkan keperluan khusus aplikasi anda apabila memilih pendekatan yang paling sesuai.

Atas ialah kandungan terperinci Cara Menggunakan Try...Catch dengan Async/Await dalam TypeScript 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