非同步方法結束時返回與等待的後果
在返回任務的非同步方法中,您有兩種選擇用於處理後續非同步呼叫:
選項A:返回任務直接
Task FooAsync() { return BazAsync(); }
選項B:等待任務並回傳
async Task BarAsync() { await BazAsync(); }
選項A的後果(返回直接)
如果您的方法執行少量同步工作,然後呼叫單一非同步方法,則此選項適合。
選項 B(等待和返回)的後果)
此選項在以下情況下更可取:
您需要執行額外的非同步操作BazAsync().
您想要非同步處理非同步方法中引發的異常。 注意:如果方法本身是,則不能直接返回任務宣告為非同步。這將導致返回類型為 Task以上是C# 中的非同步/等待:直接回到任務還是等待?的詳細內容。更多資訊請關注PHP中文網其他相關文章!