说我有以下类似异步方法的调用栈:
async Task<T> Method1()
{
return await Method2();
}
async Task<T> Method2()
{
return await Method3();
}
async Task<T> Method3()
{
return await httpClient.ReadAsync(...);
}
因为只有Method3具有真正的异步IO请求。我可以在方法1中像波纹管一样等待一次吗?并且下面的方法会提高性能吗?
async Task<T> Method1()
{
var task = Method2();
return await task;
}
Task<T> Method2()
{
return Method3();
}
Task<T> Method3()
{
return httpClient.ReadAsync(...);
}
是,是的,但是(假设您的示例),因为它确实是错误的代码。