在C#中“回程等待”的目的是什么?在那里吗任何这样编写方法的场景:public async Task<SomeResult> DoSomethingAsync(){
// Some synchronous code might or might not be here... //
return await DoAnotherThingAsync();}而不是这样:public Task<SomeResult> DoSomethingAsync(){
// Some synchronous code might or might not be here... //
return DoAnotherThingAsync();}会有意义吗?为什么使用return await构造可以直接返回的Task<T>从内部DoAnotherThingAsync()召唤?我看到代码return await在很多地方,我想我可能错过了什么。但据我所知,在这种情况下不使用异步/等待关键字并直接返回任务在功能上是等价的。为什么要增加额外的开销await层?
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
return
return await
async
using
return await
try
Task<SomeResult> DoSomethingAsync(){ using (var foo = new Foo()) { return foo.DoAnotherThingAsync(); }}async Task<SomeResult> DoSomethingAsync(){ using (var foo = new Foo()) { return await foo.DoAnotherThingAsync(); }}
Dispose()
Foo
DoAnotherThingAsync()
Foo
跃然一笑
TA贡献1826条经验 获得超6个赞
await
try/catch
async
.
- 3 回答
- 0 关注
- 505 浏览
添加回答
举报
0/150
提交
取消