Nodejasync异步通用函数概述(推荐)
nodejs框架中有很多类库,“流程控制”是一件比较简单的事情,但是实现nodejs的异步架构和需要同步的业务逻辑比较麻烦。
异步的集合控制:
async.map(arr,函数(item,callback){},callback(err,results){ });async . mapseries
app.get('/testMap ',函数(req,res){ var arr=[0,1,2,3,4,5,6];async.mapSeries(arr,函数(item,callback){(function(){ callback(null,item 1);}());},函数(err,results){ console . log(results);//[1,2,3,4,5,6,7];});});results.length和arr.length的值相等;
对数组arr中的每一项执行异步函数以获得结果。所有的结果都会总结在最后的回调中;
异步过程控制:
async.series(任务、回调);多个功能轮流执行,它们之间没有数据交换
app.get('/testSeries ',function(req,RES){ async . series([function(callback){ callback(null,' function 1 ');},函数(回调){回调(null,‘function 2’)},函数(回调){回调(null,‘function 3’);}],函数(err,results){ console . log(results);//[“function 1”、“function2”、“function 3”];});});tasks:功能列表;Callback :函数(err,result) {}是串行执行的,下一个函数callback(err,results)是在函数数组中的每个函数执行完之后执行的;Err返回错误消息,results是多个函数返回的结果集;
如果任何函数向其回调函数传递错误,将不会执行以下函数,并且错误和执行函数的结果将立即传递给系列中的最后一个回调函数
async.parallel(任务、回调);多个功能并行执行;
app.get('/testParallel ',function(req,RES){ async . parallel([function(callback){ callback(null,' function 1 ');},函数(回调){回调(null,‘function 2’)},函数(回调){回调(null,‘function 3’);}],函数(err,results){ console . log(results);//[“function 1”、“function2”、“function 3”];});});tasks:功能列表;
callback:function(err,results){}
任务、长度和结果的值相等
并行执行多个功能,每个功能立即执行,无需等待其他功能先执行。发送到最终回调数组的数据是按照任务中声明的顺序,而不是按照执行完成的顺序;
如果一个函数出错,立即将err和被执行函数的结果值发送到parallel的最终回调。其他未完成函数的值不会传输到最终数据,但会占据一个位置
async.whilst(测试、函数、回调);可用于异步调用
app . get('/testwhile ',函数(req,RES){ var count=0;async . while(function(){ if(count 3)返回true},function(回调){(function(){ count;回调(null);}());},函数(err){ console . log(count);//3 });});摘要
以上是边肖介绍的nodejs async常用异步函数的总结,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:Nodejasync异步通用函数概述(推荐)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。