首页 > 代码库 > 珠峰培训node正式课笔记 -- 【async】任务流程控制,异步流程控制
珠峰培训node正式课笔记 -- 【async】任务流程控制,异步流程控制
var async = require(‘async‘); // series 串形任务 console.time(‘cost‘) async.series({ two:function(callback){ setTimeout(function(){ console.log(‘串形任务two‘); //第一个参数 错误原因,当为真时,接收函数err参数接收到原因,并定为报错,停止执行后边的任务 callback(null,‘串形任务two 执行完毕‘); },1000) }, one:function(callback){ setTimeout(function(){ console.log(‘串形任务one‘); callback(null,‘串形任务one 执行完毕‘); },2000) }, },function(err,seriesRes){//如果callback第一个参数为真,err接收到第一个参数,判为任务错误,终止后续任务 console.log(err,seriesRes); console.timeEnd(‘cost‘) }) //parallel 并行任务 // 传递给最终的回调函数的是按任务生命顺序排列,而不是完成顺序 console.time(‘cost_p‘) async.parallel({ two:function(callback){ setTimeout(function(){ console.log(‘并行任务two‘); //第一个参数 错误原因,当为真时,接收函数err参数接收到原因,并定为报错,停止执行后边的任务 callback(null,‘并行任务two 执行完毕‘); },1000) }, one:function(callback){ setTimeout(function(){ console.log(‘并行任务one‘); callback(null,‘并行任务one 执行完毕‘); },2000) }, },function(err,seriesRes){//如果callback第一个参数为真,err接收到第一个参数,判为任务错误,终止后续任务 console.log(err,seriesRes); console.timeEnd(‘cost_p‘) }) // waterfall 瀑布形任务 console.time(‘cost_w‘) async.waterfall([ function(callback){ setTimeout(function(){ console.log(‘瀑布形任务 1‘); //第一个参数 错误原因,当为真时,接收函数err参数接收到原因,并定为报错,停止执行后边的任务 callback(null,‘咖啡‘); },1000) }, function(res,callback){ setTimeout(function(){ console.log(‘瀑布形任务 2‘); callback(null,res+‘+加糖‘); },1000) }, function(res,callback){ setTimeout(function(){ console.log(‘瀑布形任务 3‘); callback(null,res+‘+加牛奶‘); },1000) } ],function(err,seriesRes){//如果callback第一个参数为真,err接收到第一个参数,判为任务错误,终止后续任务 console.log(err,seriesRes); console.timeEnd(‘cost_w‘) }) //auto 多情况组合任务 // 例:做饭任务 console.time(‘做饭任务cost:‘) async.auto({ water:function(callback){ callback(null,‘水‘) }, flour:function(callback){ callback(null,‘面粉‘) }, mix:[‘water‘,‘flour‘,function(res,callback){ callback(null,res.water+"+"+res.flour+‘+和面‘); }], stream:[‘mix‘,function(res,cb){ cb(null,res.mix+‘+蒸馒头‘) }] },function(err,seriesRes){ console.log(err,seriesRes); console.timeEnd(‘做饭任务cost:‘) })
珠峰培训node正式课笔记 -- 【async】任务流程控制,异步流程控制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。