与你相遇好幸运,async解决循环回调问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了与你相遇好幸运,async解决循环回调问题相关的知识,希望对你有一定的参考价值。
由于使用的sailsjs框架,用的是sailsjs自身带的ORm(就是waterline),ORM的默认数据库的返回值在回调里面。
>
arg是一个数组
count用来计数用
tmpArr临时存放变量
假设是Users模型根据arg数组里面的u_number来查询
查询后需要的结果在properties[‘u_hometown‘],然后把结果放在新的数组里面
最后循环结束后正好得到一个正确的tmpArr
var count = 0; var tmpArr = []; async.whilst( function() { return count < arg.length; }, function(callback) { Users.find({u_number:arg[count].u_number}).exec(function(err,resul){ err && sails.log.error(err); if(resul.length == 0){ sails.log.error(‘notfound‘); var tmp = ""; }else{ var tmp = resul[0].properties[‘u_hometown‘] } arg[count][‘u_homwtown‘] = tmp; tmpArr.push(arg[count]); count++; callback(null, count); }); }, function (err, result) { err && sails.log.error(err); console.dir(result); console.dir(tmpArr); } );
以上是关于与你相遇好幸运,async解决循环回调问题的主要内容,如果未能解决你的问题,请参考以下文章