await放置的位置问题
来源:10-2 【理解】C#的异步async await

Sea_Man
2020-07-21
为什么await放在了longRunningTask之前而不是产生它的函数LongRunningOperationAsync之前?
写回答
1回答
-
问题非常好!
请对比下面代码你就明白了:
Task<int> longRunningTask = LongRunningOpAsync(); int result = await longRunningTask;
int result = await LongRunningOpAsync();
以上两句话是等效的,第一个方式是让longRuningOpAsync等于一个异步操作(此时类型为Task<T>),然后再await执行异步操作,输出int类型数据result;而第二种方式是直接await异步执行LongRunningOpAsync,直接输出int类型数据result。
我这么说能讲清楚了吗?
042020-07-22
相似问题