微软在.NET4.5中升级了C#语言到5.0,加入了await和async语法,极大地方便了广大开发人员的异步编程,也是为了和WinRT API配套,因为这套API充满了异步编程。在开发过程中发现有时await不住?!流程还是往下走,觉得可能是使用有问题,于是进行了一下研究,发现了原因。看下面的一组...
分类:
其他好文 时间:
2014-12-27 16:06:45
阅读次数:
869
Promise是对异步编程的一种抽象。它是一个代理对象,代表一个必须进行异步处理的函数返回的值或抛出的异常。本文仅对异步方法的串行执行,及其在Q/Aysnc等库中的使用进行探讨。
分类:
Web程序 时间:
2014-12-27 06:41:10
阅读次数:
207
来自:http://msdn.microsoft.com/library/vstudio/hh191443异步对可能起阻止作用的活动(例如,应用程序访问 Web 时)至关重要。对 Web 资源的访问有时很慢或会延迟。如果此类活动在同步过程中受阻,则整个应用程序必须等待。在异步过程中,应用程序可继续执...
分类:
其他好文 时间:
2014-12-26 22:53:55
阅读次数:
275
本课难度非常大,看一遍,蛋会疼,第二遍蛋不舒服,第三遍应该貌似懂了。初学者莫来,没必要,这完全就是一个研究。JSDeferred是日本高手cho45搞出来的,其易用性远胜于Mochikit Deferred,它的实现形态基本上奠定了后来称为Promise/A的范式,是js在异步编程上的一个里程碑作品...
分类:
Web程序 时间:
2014-12-25 12:38:50
阅读次数:
227
在如今都追求用户体验的时代,Ajax应用真的是无所不在。加上这些年浏览器技术、HTML5以及CSS3等的发展,越来越多的富Web应用出现;在给与我们良好体验的同时,Web开发人员在背后需要处理越来越多的异步回调逻辑。笔者对最近读完的《Async Javascript-Build More Respo...
分类:
编程语言 时间:
2014-12-24 16:01:07
阅读次数:
169
纤程(Fiber)和协程(coroutine)是差不多的概念,也叫做用户级线程或者轻线程之类的。Windows系统提供了一组API用户创建和使用纤程,本文中的库就是基于这组API实现的。纤程的概念中有两个关键点:
纤程拥有独立的栈空间和寄存器环境;
纤程在用户态实现调调度,也就是说完全由程序员控...
分类:
编程语言 时间:
2014-12-21 22:01:08
阅读次数:
269
async & await关于 4.5中新增的异步编程新特性总结1.用async标记的异步方应该使用await关键子来制定挂起点。await操作符会告诉编译器,这个async方法在完成之前,后面的代码无法继续执行,同时,控制权转移到async方法的调用者2.一个async方法里通常包含一个或多个的对...
分类:
其他好文 时间:
2014-12-16 13:21:54
阅读次数:
205
目前需求中涉及到大量的异步操作,实际的页面越来越倾向于单页面应用。以后可以会使用backbone、angular、knockout等框架,但是关于异步编程的问题是首先需要面对的问题。随着node的兴起,异步编程成为一...
分类:
其他好文 时间:
2014-12-09 12:35:48
阅读次数:
379
javascript的执行引擎是单线程的,正常情况下是同步编程的模式,即是程序按照代码的顺序从上到下依次顺序执行。只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),那么在执行期间任何...
分类:
编程语言 时间:
2014-12-08 21:07:34
阅读次数:
198
在用JQuery的时候就知道 promise 是 Js异步编程模式的一种模式,但是不是很明白他跟JQuery的deferred对象有什么区别。随着公司项目的进行,要跟后台接数据了,所以决定搞定它。PromisePromise是一种模式,以同步操作的流程形式来操作异步事件,避免了层层嵌套,可以链式操作...
分类:
其他好文 时间:
2014-12-08 19:07:49
阅读次数:
667