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