首页 >后端开发 >C++ >在异步/等待方法中,我什么时候应该返回任务与空白?

在异步/等待方法中,我什么时候应该返回任务与空白?

Barbara Streisand
Barbara Streisand原创
2025-02-01 14:01:09501浏览

When Should I Return a Task vs. Void in Async/Await Methods?

在异步方法中选择Task>>>>> void>是否从C#中的

方法返回A

> Task void返回Aasync

>

>返回通常是推荐的方法。 它允许呼叫者:Task

>

等待结果:如果异步操作产生一个值,则Task>允许呼叫者等待其完成并访问结果。>

    监视器进度:
  • >对象提供了跟踪操作状态的属性和方法(例如,)。 Task
  • 处理异常:> 方法中抛出的异常是由Task捕获的,并且可以使用IsCompleted> blocks IsFaulted blocks。
  • >返回 async 在有限的情况下,Task返回try-catch是适当的,主要是:
  • >

燃烧操作:void启动异步操作,呼叫者不需要了解其完成或任何潜在错误。 示例包括事件处理程序或记录操作。

void

方法:诉讼:
  • 方法具有独特的行为和潜在的陷阱:>
>未观察到的异常:

>方法中的异常不会自动传播到呼叫者。 如果没有掌握的话,它们可能会导致事件,可能会默默地崩溃。 除非绝对必要,否则这是避免的主要原因。 async void

>说明性示例:

async void

  • (返回)是更好的错误处理和等待结果的能力。 (返回async void)演示了方法本身内的显式异常处理的重要性。UnobservedTaskException> async void
  • 结论:

>在大多数>方法中返回。 仅在不需要返回值并在方法中实现仔细的例外处理的事件处理程序之类的特定方案。 忽略这些准则可能会导致异步代码中难以删除问题。 咨询外部资源以获取更详细的解释。

以上是在异步/等待方法中,我什么时候应该返回任务与空白?的详细内容。更多信息请关注PHP中文网其他相关文章!

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