在写基于任务的异步方法,遇到关于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 关注
- 655 浏览
添加回答
举报
0/150
提交
取消