Skip to content

Commit 946a9c9

Browse files
author
andrew
committed
add simple example for basic concept section
1 parent 5536f31 commit 946a9c9

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

lesson17/README.md

+28
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,36 @@ promiseSomething().then(function(fulfiled){
9191
});
9292
```
9393

94+
学习一个简单的例子
95+
```js
96+
var Q = require('q');
97+
var defer = Q.defer();
98+
/**
99+
* 获取初始promise
100+
* @private
101+
*/
102+
function getInitialPromise() {
103+
return defer.promise;
104+
}
105+
/**
106+
* 为promise设置三种状态的回调函数
107+
*/
108+
getInitialPromise().then(function(success){
109+
console.log(success);
110+
},function(error){
111+
console.log(error);
112+
},function(progress){
113+
console.log(progress);
114+
});
115+
defer.notify('in progress');//控制台打印in progress
116+
defer.resolve('resolve'); //控制台打印resolve
117+
defer.reject('reject'); //没有输出。promise的状态只能改变一次
118+
```
119+
94120
## promise的传递
95121

122+
123+
96124
这次我们要介绍的是 async 的 `mapLimit(arr, limit, iterator, callback)` 接口。另外,还有个常用的控制并发连接数的接口是 `queue(worker, concurrency)`,大家可以去 https://github.com/caolan/async#queueworker-concurrency 看看说明。
97125

98126
这回我就不带大家爬网站了,我们来专注知识点:并发连接数控制。

0 commit comments

Comments
 (0)