首页 >web前端 >js教程 >如何在 TypeScript 中正确使用 Async/Await 和 Try...Catch?

如何在 TypeScript 中正确使用 Async/Await 和 Try...Catch?

Linda Hamilton
Linda Hamilton原创
2024-12-11 02:11:10291浏览

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

带有变量声明的 Try...Catch 的正确 Async/Await 语法

TypeScript 中新的 Async/Await 功能允许使用更扁平的代码,但是使用await时,try...catch块中变量的放置可以是

最佳实践

在 try 主体中包含多行业务逻辑被认为是最佳实践,以确保正确捕获异常。

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

    // Business logic goes here
} catch (error) {
    console.error(error); // From creation or business logic
}

处理来自Promise

如果您只想捕获并处理 Promise 本身的错误,您有三个选择:

  1. 在外部声明变量并分支:

    • 为 catch 中的变量分配默认值块。
    • 提前返回或从 catch 块重新抛出异常。
    • 设置一个标志来指示 catch 块是否捕获异常。
    • 测试变量的值确定是否已分配。
  2. 测试捕获异常类型:

    • 针对特定错误类型测试捕获的异常。
  3. 将 then 与回调一起使用:

    • 写两个回调函数,一个是成功,一个是错误,而不是使用 try/catch。

示例:

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

以上是如何在 TypeScript 中正确使用 Async/Await 和 Try...Catch?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn