nodejs 异步流程控制
2020-02-02 00:14
615 查看
先安装:
G:\www\nodejs\study>npm install async --g
1.串行无关联:async.series(tasks,callback);
多个函数依次执行,之间没有数据交换,其中一个函数出错,后续函数不再执行
//-------------nj_async.js------------------------------
var async = require('async'); function exec(){ async.series({ one: function(done){ ii=0; setInterval(function(){ console.log('aaa='+new Date()); ii++; if(ii==3){ clearInterval(this); done(null,{one:"one"}); } },1000); }, two: function(done){ jj=0; setInterval(function(){ console.log('bbb='+new Date()); jj++; if(jj>3){ clearInterval(this); done(null,{two:"two"}); } },1000); } }, function(err,rs) { console.log(err); console.log(rs); }); } exec();
2.并行无关联:async.parallel(tasks,callback);
多个函数并行执行,最后汇总结果,如果某一个流程出错就退出 后面的回调会失败
async.parallel({ one: function(callback){ callback(null, 1); }, two: function(callback){ callback(null, 2); } },function(err, results) { console.log(results); });
3.串行有关联:waterfall 瀑布流
每一步执行时需要由上一步执行的结果当做参数.所以每一步必须串行等待
var async = require('async');
function exec(){ async.waterfall( [ function(done){ ii=0; setInterval(function(){ console.log("aaa="+new Date()); ii++; if(ii==3){ clearInterval(this); done(null,'one完毕'); } },1000); }, function(preValue,done){ //上一函数的值 jj=0; setInterval(function(){ console.log(preValue+"="+new Date()); jj++; if(jj==3){ clearInterval(this); done(null,preValue+',two完毕'); } },1000); } ],function(err,rs){ console.log(err); console.log(rs); } ) }
4.parallelLimit(tasks, limit, [callback])
parallelLimit函数和parallel类似,但是它多了一个参数limit。
limit参数限制任务只能同时并发一定数量,而不是无限制并发,
转载于:https://www.cnblogs.com/yin-dt/p/8076164.html
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- nodejs异步流程控制co 模块
- Nodejs异步流程控制Async
- Nodejs异步流程控制Async
- Nodejs异步流程控制Async
- Nodejs异步流程控制Async
- 【深入浅出Node.js系列十四】Nodejs异步流程控制Async
- Nodejs异步流程控制Async
- NodeJS异步流程控制async介绍
- Nodejs异步流程控制Async
- Nodejs异步流程控制Async
- nodejs之异步流程控制ASYNC
- 异步流程控制库GoWithTheFlow
- async 异步流程控制规则
- nodejs中的异步流程序控制nsync
- nodejs异步控制
- nodejs中的异步流程序控制nsync
- 三个分享——异步流程控制 / Modern Node.js/Java项目如何与Node.js共存
- node js 异步执行流程控制模块Async介绍
- Promise 异步流程控制
- (四)、 nodejs中Async详解之一:流程控制