当前位置: 首页 > 后端技术 > Node.js

nodejs异步库async

时间:2023-04-03 11:28:06 Node.js

1.异步串行执行async.series([function(cb){setTimeout(function(){console.log('execution1');cb(null,'a');},1000)},function(cb){setTimeout(function(){console.log('执行2');cb(null,'b');},1000)},function(cb){setTimeout(function(){console.log('执行3');cb(null,'c');},1000)}],function(err,results){console.log(results)})//按顺序打印Execute1Execute2Execute3['a','b','c'];//异步函数按照相加的顺序执行,结果由异步函数回调中的cb函数保存。//当最后的回调函数执行时,会将之前保存的结果作为数组传入2.异步并行执行async.parallel([function(cb){setTimeout(function(){console.log('execution1');cb(null,'a');},4000)},function(cb){setTimeout(function(){console.log('execute2');cb(null,'b');},1000)},function(cb){setTimeout(function(){console.log('Execute3');cb(null,'c');},1000)}],function(err,results){console.log(results)})//打印执行2执行3执行1['a','b','c']3.异步函数的依赖处理async.waterfall([function(cb){setTimeout(function(){cb(null,'来自第一个函数','xxx')},5000)},function(arg,arg2,cb){console.log(arg)console.log(arg2)setTimeout(function(){cb(null,'来自第二个函数')},1000)},function(arg,cb){console.log(arg)cb(null,'last')}],function(err,result){console.log(result)})//从第一个函数依次打印xxx从第二个功能最后