このような方法を書くシナリオはありますか:
public async Task<SomeResult> DoSomethingAsync()
{
// Some synchronous code might or might not be here... //
return await DoAnotherThingAsync();
}
これの代わりに:
public Task<SomeResult> DoSomethingAsync()
{
// Some synchronous code might or might not be here... //
return DoAnotherThingAsync();
}
理にかなっていますか?
内部呼び出しからreturn await
直接戻ることができるのに、なぜコンストラクトを使用するのでしょうか?Task<T>
DoAnotherThingAsync()
非常に多くの場所で のコードを目にしますreturn await
が、何か見落としているのではないかと思います。しかし、私が理解している限りでは、この場合 async/await キーワードを使用せず、 Task を直接返すことは機能的に同等です。await
追加レイヤーのオーバーヘッドを追加するのはなぜですか?