众所周知,在C#中,async
方法应该用后缀"Async"命名(例如 ReadAsync
,CreateAsync
)。
但在许多情况下,异步方法中不需要async/await
,例如:
public async Task<string> DoSomethingAsync()
{
return await GetAsync();
}
可以改写为:
public Task<string> DoSomethingAsync()
{
return GetAsync();
}
我的问题是:
对于上述
async/await
完全可选的情况,哪个版本更正确?保留async/await
还是直接归还Task
?如果第二个版本更好(直接返回
Task
),它是否仍应以后缀"Async"命名(即DoSomethingAsync
) 或不(即DoSomething
)?
对于上述 async/await 完全可选的情况,哪个版本更正确?保持异步/等待还是直接返回任务?
我更喜欢直接返回Task
,但我写了一篇完整的博客文章,说明何时合适,何时不合适。
如果第二个版本更好(直接返回任务),它是否应该以后缀"Async"(即DoSomethingAsync)或不(即DoSomething)命名?
是的。Async
后缀的意思是"返回可等待的"。