在寫基于任務的異步方法,遇到關于async、await的問題。如下,寫2個函數。F1()、F2(),差別是F1有async修飾。問題1: 為何F1有async修飾,就不需要return值了?而F2卻提示我沒有返回值? 據我所知,async的作用是為了函數內能用await,是個編譯器功能,并沒有其它什么功能了啊。問題2: 明明 t 是異步執行的,為何提示卻說是同步執行??問題3: 我給F2加了返回值,又寫了個F3,請問F2和F3現在是不是一樣的?? 異步方法到底要怎么寫呢????async Task F(),才是異步方法?Task F(),只是返回一個Task的普通方法?
1 回答

寶慕林4294392
TA貢獻2021條經驗 獲得超8個贊
異步是要有操作的異步.像你這種寫法沒有任何意義.
一般有意義的異步是1.無須等待結果的并行運算.2.IO操作(數據庫/文件系統/網絡請求)的異步等待
你的問題 1. 這個是語法.不要問為什么.語法就是這樣 2.因為你沒有等待其他異步操作.整個方法自然是同步的.
3.當然不一樣.代碼都不一樣了. 總的來說:你想太多了.
- 1 回答
- 0 關注
- 680 瀏覽
添加回答
舉報
0/150
提交
取消