非同期プログラミングでの
およびasync
の使用は非常に一般的であり、多くの人がawait
と直接return await
オブジェクトを直接返すことを疑っています。この記事では、これら2つの方法のさまざまなシーンについて説明します。 Task<T>
Task<T>
return await
ほとんどの場合、は機能的です。ただし、例外があります。Task<T>
ブロックの構造に。 return await
using
例:文とtry
とreturn await
using
async
最初の方法では、return await
メソッドは、戻ってから完了する前に、ただし、2番目のメソッドでは、
メソッドが完了した後にのみ<code class="language-csharp">Task<someresult> DoSomethingAsync() { using (var foo = new Foo()) { return foo.DoAnotherThingAsync(); } } async Task<someresult> DoSomethingAsync() { using (var foo = new Foo()) { return await foo.DoAnotherThingAsync(); } }</code>
using
結論
要するに、DoAnotherThingAsync()
オブジェクトは通常Foo
の使用に相当しますが、Foo
または
またはawait
が動作の特別な状況を大幅に変えることに注意する必要があります。 。この違いを理解することで、非同期操作の正しい実装を確保できます。 DoAnotherThingAsync()
以上がasync/awaint vs.直接戻りタスク:「戻ってくるのはいつ重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。