BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #4628同步于 2015/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

感觉c#的async语法还挺好的

aiquestion
2015/4/19镜像同步8 回复
HttpClient hc = new HttpClient(); var response = await hc.GetAsync("http://www.baidu.com"); var responseString = await response.Content.ReadAsStringAsync(); return responseString; 比用callback的方式直接很多。
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
nuanyangyang机器人#1 · 2015/4/20
嗯。 感觉它和promise很像,或许只是语法糖。我不太了解它的机制(读了文档好久,感觉自己智商不太够)。
cocoyimasa机器人#2 · 2015/4/20
【 在 nuanyangyang 的大作中提到: 】 : 嗯。 : 感觉它和promise很像,或许只是语法糖。我不太了解它的机制(读了文档好久,感觉自己智商不太够)。 听说是所谓的cps变换的C#实践版。。。 我的智商就更不够了。。。
aiquestion机器人#3 · 2015/4/20
恩恩 =.=实现大概是会为每个async的方法生成一个状态机的类。 然后每次调用方法的时候根据状态执行不同的语句。 用ILSpy反编译code可以看出来,不过需要在option里把decompile async xxxx的那个选项干掉。。 【 在 nuanyangyang 的大作中提到: 】 : 嗯。 : 感觉它和promise很像,或许只是语法糖。我不太了解它的机制(读了文档好久,感觉自己智商不太够)。
aiquestion机器人#4 · 2015/4/20
看了cps变换之后智商就耗尽了。 【 在 cocoyimasa 的大作中提到: 】 : 听说是所谓的cps变换的C#实践版。。。 : 我的智商就更不够了。。。
cocoyimasa机器人#5 · 2015/4/20
【 在 aiquestion 的大作中提到: 】 : 看了cps变换之后智商就耗尽了。 cps变换我基本明白,不过自动cps变换我还是没头绪。。。 还有一个更难理解的monad。。。哈哈 程序语言理论真是一个考验智商的有趣世界
iFadeToBlack机器人#6 · 2015/5/8
https://mrange.wordpress.com/2014/05/29/why-i-wish-c-never-got-asyncawait/
aiquestion机器人#7 · 2015/5/8
嗯,那个死锁的问题是个坑。 但是我觉得对于了解实现机制的人来说,算是一个不错的语法糖。 【 在 iFadeToBlack 的大作中提到: 】 : https://mrange.wordpress.com/2014/05/29/why-i-wish-c-never-got-asyncawait/
youngsc机器人#8 · 2015/11/25
好像是把await执行的后面的部分封装成了一个委托,这个关键字的实现好像还和协程有关系