Skip to content

Commit

Permalink
'nextTick'
Browse files Browse the repository at this point in the history
  • Loading branch information
bsspirit committed Sep 12, 2013
1 parent d09c18d commit 4ed25b5
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 21 deletions.
31 changes: 16 additions & 15 deletions README.md
Expand Up @@ -22,20 +22,21 @@ https://github.com/caolan/async
3. map.js增加mapLimit函数
4. filter_reject.js对注释补充
5. filter_reject.js增加rejectSeries函数
5. reduce.js增加注释
6. detect.js增加注释
7. sortBy.js增加注释
8. some.js对注释补充
9. every.js对注释补充和修改
10. series.js调整注释格式
11. parallel.js调整注释格式
12. parallel.js增加parallelLimit函数
13. whilist_until.js调整注释格式
14. whilist_until.js增加doWhilst函数
15. whilist_until.js增加doUntil函数
16. whilist_until.js增加forever函数
17. waterfall.js调整注释格式
18. 增加compose.js文件
19. apply.js补充注释并增加一个实例
6. reduce.js增加注释
7. detect.js增加注释
8. sortBy.js增加注释
9. some.js对注释补充
10. every.js对注释补充和修改
11. series.js调整注释格式
12. parallel.js调整注释格式
13. parallel.js增加parallelLimit函数
14. whilist_until.js调整注释格式
15. whilist_until.js增加doWhilst函数
16. whilist_until.js增加doUntil函数
17. whilist_until.js增加forever函数
18. waterfall.js调整注释格式
19. 增加compose.js文件
20. apply.js补充注释并增加一个实例
21. 修改nextTick.js实例


18 changes: 12 additions & 6 deletions nextTick.js
@@ -1,20 +1,26 @@
var async = require('async');
var t = require('./t');
var log = t.log;

/**
* async.nextTick的作用与nodejs的nextTick一样,都是把某个函数调用放在队列的尾部。但在浏览器端,只能使用setTimeout(callback,0),但这个方法有时候会让其它高优先级的任务插到前面去
*
* nextTick的作用与nodejs的nextTick一样,再最后调用函数
* 但在浏览器端,只能使用setTimeout(callback,0),但这个方法有时候会让其它高优先级的任务插到前面去。
* 所以提供了这个nextTick,让同样的代码在服务器端和浏览器端表现一致。
*/
// nextTick(callback)

var calls = [];

async.nextTick(function() {
calls.push('two');
});

async.nextTick(function() {
log('1.1',calls);
});
calls.push('one');

log('1.2',calls);
async.nextTick(function() {
console.log(calls); // -> [ 'one', 'two' ]
log('1.3',calls);
});
//09.838> 1.2[ 'one' ]
//09.842> 1.1[ 'one', 'two' ]
//09.843> 1.3[ 'one', 'two' ]

0 comments on commit 4ed25b5

Please sign in to comment.