這個問題在這里已經有了答案: C#中“回傳等待”的目的是什么? (7 個回答) 2 天前關閉。
在撰寫異步函式時,通常如果您沒有明確撰寫await或async編譯器會拋出錯誤或警告。下面的正確語法示例:
public async Task<List<TEntity>> GetEntitiesAsync() =>
await TEntityRepository.GetAllAsync();
現在以下仍然有效,它是異步的并回傳一個 Task<List>
public Task<List<TEntity>> GetEntitiesAsync() =>
TEntityRepository.GetAllAsync();
為什么第二個還能用
uj5u.com熱心網友回復:
兩個呼叫都回傳相同的任務,因此它們實際上是相同的。
為了在方法中使用“await”,該方法必須標記為異步。由于第二個不使用等待,因此不需要標記為異步。
就是這樣。
話雖如此,這樣做可能不是一個好主意,因為@TheGeneral 提到的文章中描述了一些陷阱:https ://blog.stephencleary.com/2016/12/eliding-async-await 。 html
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318770.html
