本篇,主要普及promise的用法。一直以来,JavaScript处理异步都是以callback的方式,在前端开发领域callback机制几乎深入人心。在设计API的时候,不管是浏览器厂商还是SDK开发商亦或是各种类库的作者,基本上都已经遵循着callback的套路。近几年随着JavaScript开...
分类:
编程语言 时间:
2015-07-06 21:41:35
阅读次数:
183
详细API:https://github.com/kriskowal/q/wiki/API-Reference Q提供了promise的一种实现方式,现在在node中用的已经比较多了。因为没有中文的api,我就简单翻译下吧。鄙人不才,欢迎拍砖。。。一、Core Promise Methods1、p....
异步机制JavaScript的执行环境是单线程的,单线程的好处是执行环境简单,不用去考虑诸如资源同步,死锁等多线程阻塞式编程等所需要面对的恼人的问题。但带来的坏处是当一个任务执行时间较长时,后面的任务会等待很长时间。在浏览器端就会出现浏览器假死,鼠标无法响应等情况。所以在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应。所谓异步执行,不同于同步执行(程序的执行顺序与任务的排列顺序是一致的、...
分类:
编程语言 时间:
2015-06-27 09:49:51
阅读次数:
291
在谈论Promise之前我们要了解一下一些额外的知识;我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任务的话就要排队,前面一个任务完成后才可以继续下一个任务。这种“单线程”的好处就是实现起来比较简单,容易操作;坏处就是容易造成阻塞,因为队列...
分类:
Web程序 时间:
2015-06-26 17:35:09
阅读次数:
397
有点像Promise的变形,目前还没想到更优雅的写法。总觉得Generator有点像线程,有中断有唤醒,Generator应该可以模拟多线程时间片的效果。function async(x, _genObj) { setTimeout(function() { _genObj.next(...
分类:
其他好文 时间:
2015-06-18 09:23:02
阅读次数:
112
下面我们通过讲解$q的API让你更多的了解promise异步编程模式。$q是做为angularjs的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码也就二百多行,下面开始介绍$q的API。defer对象(延迟对象)可以通$q.defer()获取,下面是def...
分类:
Windows程序 时间:
2015-06-17 12:56:24
阅读次数:
15928
nodejs是比较简单的,只有你有前端js基础,那就按照我的办法来吧!一周足矣 推荐技术栈 express 4.x (express最新版本,初学者先别去碰koa) mongoose(mongodb) bluebird(Promise/A+实现) jade(视图层模板)...
分类:
Web程序 时间:
2015-06-14 11:04:24
阅读次数:
260
var workAsync = function() { var p = new Promise(function(resolve, rej) { $.get("http://....", function(rs){ resolve("dddddddd");...
分类:
其他好文 时间:
2015-06-08 00:49:25
阅读次数:
157
我们可以使用内置的$http服务直接同外部进行通信。$http服务只是简单的封装了浏览器原生的XMLHttpRequest对象。
1、链式调用
$http服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成HTTP请求的
配置内容。这个函数返回一个promise对象,具有success和error两个方法。
$http({
url:'data.json',
...
分类:
Web程序 时间:
2015-06-04 15:54:24
阅读次数:
145