首页 > 后端开发 > C++ > C# 中的异步/等待:直接返回任务还是等待?

C# 中的异步/等待:直接返回任务还是等待?

Mary-Kate Olsen
发布: 2025-01-04 05:29:39
原创
234 人浏览过

Async/Await in C#: Return Task Directly or Await?

异步方法结束时返回与等待的后果

在返回任务的异步方法中,您有两种选择用于处理后续异步调用:

选项 A:返回任务直接

Task FooAsync()
{
    return BazAsync();
}
登录后复制

选项B:等待任务并返回

async Task BarAsync()
{
    await BazAsync();
}
登录后复制

选项A的后果(返回直接)

  • 优点:需要更少的样板代码并创建更少的任务。
  • 缺点:在同步方法将被传递同步地。

如果您的方法执行少量同步工作,然后调用单个异步方法,则此选项适合。

选项 B(等待和返回)的后果)

  • 优点:异常将异步处理。
  • 缺点:更详细的代码并创建额外的任务。

此选项在以下情况下更可取:

  • 你的方法在调用后需要执行额外的异步操作BazAsync().
  • 您想要异步处理异步方法中引发的异常。

注意:如果方法本身是,则不能直接返回任务声明为异步。这将导致返回类型为 Task,这是不允许的。

总之,直接返回还是等待取决于您的方法的具体需求。做出此选择时,请考虑代码结构、出现异常的可能性以及应用程序所需的行为。

以上是C# 中的异步/等待:直接返回任务还是等待?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板