异步方法结束时何时返回或等待
在返回任务的异步方法中,可以选择等待后续的异步调用或简单地返回其任务。这个决定有一定的后果,应该考虑在内。
选项 A:返回任务
在这种情况下,以 FooAsync 方法为例,该方法直接返回BazAsync 生成的任务。此方法适合保持方法声明同步,从而启用同步异常处理和参数验证。它还需要运行时跟踪更少的任务。
选项 B:等待任务
在 BarAsync 方法中,await 关键字用于等待BazAsync 完成。当异步方法本身被声明为异步方法时,这是必需的。虽然这可能会引入额外的任务,但它确保稍后可以更改该方法以执行其他后处理任务,而无需更改其返回类型。
异常
它值得注意的是,异步方法中的同步代码将同步抛出异常。如果需要异步异常处理,则应将方法声明为异步。
重载
返回异步调用的任务通常在方法重载中使用,以提供同步的异步替代方案
结论
选择返回还是等待另一个异步调用的Task取决于该方法的具体要求。返回任务可以保持同步行为,同时减少任务数量,而等待任务可以确保后处理的灵活性,但会产生额外任务的开销。
以上是我应该在异步方法结束时返回或等待任务吗?的详细内容。更多信息请关注PHP中文网其他相关文章!