Lorsque vous exploitez la nature asynchrone d'Async/Await dans des langages comme TypeScript, il est essentiel d'utiliser la syntaxe correcte pour la gestion des erreurs. Une question courante se pose concernant le placement des variables à attendre dans les blocs try...catch.
Il est généralement considéré comme une meilleure pratique de placer la déclaration de variable à l'intérieur le bloc try et attribuez-y sa valeur. Cela permet de gérer les erreurs dans le cadre de la création de la variable et garantit qu'elle contient toujours une valeur valide :
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 }
Si vous souhaitez gérer les erreurs uniquement de la dans l'affectation de la promesse, vous avez trois alternatives :
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 }
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; } }
await this.User.create(userInfo).then(createdUser => { // user was successfully created console.log(createdUser); // business logic goes here }, error => { console.error(error); // from creation });
Chaque alternative a ses avantages et ses inconvénients, alors tenez compte des exigences spécifiques de votre application lorsque vous choisissez l'approche la plus appropriée.
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!