例如我有一个批量操作数据库的循环,我希望顺序执行完后,响应回调,怎么处理?有没有什么组件可以解决。
10 回复
我一般这么办,比如操作数据库,ajax初始化网页等。下面以数据库操作为例:
function serializedQuery(sqls,cb){
var c=sqls.length;
var rlt=[];
sqls.forEach(function(sql){
mysql.query(sql,function(error,rows,fields){
if(error){mysql.end();cb(error);}else{
rlt.push(rows);
c–;
if(c<=0){
mysql.end();
cb(null,rlt)
};
}
}
});
}
//make a call serializedQuery([ 'select …’, ‘update…’ ,delete…’,.,.,.],function(err,data){ if(data){ … } });