返回await fooAsync()或在方法中返回fooAsync()
本文关键字:返回 fooAsync 方法 await | 更新日期: 2023-09-27 17:54:20
假设我有一个方法叫做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()
,为什么?
我试着四处寻找,但还没有找到这个模式的确凿答案。
我的问题是:在BarAsync内部,我应该使用return await this.FooAsync()还是return this.FooAsync(),为什么?
你应该使用return FooAsync(foo, bar)
。在这种情况下,除了调用另一个异步方法之外,您没有做任何事情,因此通过避免async
和await
,您可以避免少量的开销。