【发布时间】:2020-02-24 14:06:17
【问题描述】:
我试图理解为什么会使用以下Task.Run 和GetAwaiter().GetResult() 而不是await ... <result>
(var success, var response) = Task.Run(() => HTTPHelper.SendRequest<SomeJsonResponse>( ... )).GetAwaiter().GetResult();
上面的代码是否抛出this article shows、Exception 而不是AggregateException?如果是这样,我相信这就是选择这种结构的原因。
在这种情况下是否可以使用async ... await 并获得相同的结果? (我认为不会,如果只有上面的代码才能满足单一异常要求。)
【问题讨论】:
-
"而不是
await ... .Result" - 你永远不会将.Result与await一起使用。它只是行不通。await关键字为您解开结果。 -
微软关于异步编程的文章其实写得很好。您可能会从阅读它们中受益。从这里开始:Asynchronous programming with async and await
标签: c# .net async-await