Maison > interface Web > js tutoriel > Comment utiliser correctement Async/Await avec Try...Catch dans TypeScript ?

Comment utiliser correctement Async/Await avec Try...Catch dans TypeScript ?

Linda Hamilton
Libérer: 2024-12-11 02:11:10
original
407 Les gens l'ont consulté

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

Corriger la syntaxe Async/Await pour Try...Catch avec déclaration de variable

La nouvelle fonctionnalité Async/Await dans TypeScript permet un code plus plat , mais le placement des variables dans les blocs try...catch lors de l'utilisation de wait peut prêter à confusion.

Meilleur Pratique

Il est considéré comme une bonne pratique d'inclure plusieurs lignes de logique métier dans le corps d'essai, garantissant que les exceptions sont correctement détectées.

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

    // Business logic goes here
} catch (error) {
    console.error(error); // From creation or business logic
}
Copier après la connexion

Gestion des erreurs du Promesse

Si vous souhaitez uniquement détecter et gérer les erreurs de la promesse elle-même, vous en avez trois options :

  1. Déclarer la variable à l'extérieur et à la branche :

    • Attribuer une valeur par défaut à la variable dans le bloc catch.
    • Retournez plus tôt ou relancez une exception du bloc catch.
    • Définissez un indicateur pour indiquer si le bloc catch a été intercepté une exception.
    • Testez la valeur de la variable pour déterminer si elle a été attribuée.
  2. Test du type d'exception détectée :

    • Tester l'exception interceptée par rapport à une erreur spécifique tapez.
  3. Utilisez ensuite avec les rappels :

    • Écrivez deux fonctions de rappel, une pour le succès et une pour l'erreur, au lieu d'utiliser essayer/attraper.

Exemple :

await this.User.create(userInfo).then(createdUser => {
    // Business logic goes here
}, error => {
    console.error(error); // From creation
});
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal