c# - 在方法内返回await fooAsync()或return fooAsync()

标签 c# asynchronous async-await

假设我有一个名为 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;
}

现在我有一个等待方法,它只做一件事 call fooAsync() .

public Task<string> BarAsync(string foo, string bar)
{
    return this.FooAsync(foo, bar);
}

我的问题是:在 BarAsync 中,我应该使用 return await this.FooAsync()return this.FooAsync()为什么?

我尝试环顾四周,但尚未找到此模式的决定性答案。

最佳答案

My question here is that: inside BarAsync, should I use return await this.FooAsync() or return this.FooAsync() and why?

您应该使用return FooAsync(foo, bar) 。在这种情况下,除了调用另一个异步方法之外,您没有执行任何操作,因此请避免 asyncawait ,您就避免了少量的开销。

关于c# - 在方法内返回await fooAsync()或return fooAsync(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677086/

相关文章:

c# - setExpressCheckout 和 SSL/TLS 错误

c# - 建议 .NET 上的简单 ORM - 用于维护遗留应用程序的设计

c# - 在 ASP.Net MVC 中创建异步报告

python - 如何在 Python 中创建异步生成器?

python - asyncio.gather() - task.cancelled() 在 task.cancel() 之后为 False

asp.net-web-api - 使用自定义授权测试异步 Web api 方法

c# - 使用范围 C# 将字符串列表写入 excel

java - JSON 数组不会映射到 Jersey

Python:当已经有一个事件循环正在运行时,从同步方法调用异步代码

javascript - 如何理解 JavaScript 同步/异步