非同期プログラミングの微妙な違い:
および直接戻ってきますreturn awaitの選択と直接戻るTask<T>
の選択はしばしば混乱します。ほとんどの場合、それらは機能的であるように見えますが、特定の状況下での行動には重要な違いがあります。
return await
Task<T>
の利点
この微妙であるが重要な違いは、
に表示されます。次の例を考えてみましょう:
この例では、return await
ステートメントは、返却後
それどころか、非同期方法でのtry
の使用は異なります:using
return await
この場合、
<code class="language-csharp">Task<someresult> DoSomethingAsync() { using (var foo = new Foo()) { return foo.DoAnotherThingAsync(); } }</code>
概要foo.DoAnotherThingAsync()
using
DoAnotherThingAsync()
foo
では、ほとんどの場合に直接戻るのに十分ですが、DoAnotherThingAsync()
ブロックがブロックで使用されると、
コードの整合性を維持し、事故を防ぎます。 return await
以上がreturn waing vs. direct task return:それはいつ重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。