假设我有一个名为fooAsync()
的方法:
public Task<T> FooAsync<T>(T foo, T bar)
{
// do some stuff
var returnFoo = await netLibraryMethodAsync(x, y, z);
// do some more stuff
return returnFoo as T;
}
现在我有一个awaiter方法只能做一件事call fooAsync()
。
public Task<string> BarAsync(string foo, string bar)
{
return this.FooAsync(foo, bar);
}
我的问题是:在BarAsync中,我应该使用return await this.FooAsync()
还是return this.FooAsync()
?为什么?
我试过环顾四周,但没有找到这个模式的确凿答案。
答案 0 :(得分:2)
我的问题是:在BarAsync里面,我应该使用return await this.FooAsync()或者返回this.FooAsync()以及为什么?
您应该使用return FooAsync(foo, bar)
。在这种情况下,除了调用另一个异步方法之外,您没有做任何事情,因此通过避免async
和await
,您可以避免少量开销。