例如我有一个批量操作数据库的循环,我希望顺序执行完后,响应回调,怎么处理?有没有什么组件可以解决。
async
精辟
正在用,真的挺不错,呵呵
EventProxty https://github.com/JacksonTian/eventproxy
推荐async, 超级好用的module
我一般这么办,比如操作数据库,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){ … } });
作为初学者,弄清楚原理之前去借modules可能会走弯路的 … …
朋友 你这个也是用了 async 模块吗? 我现在也有个类似的功能,需要用事务,不知道怎么去实现比较好。 有没有好的方案?
在async中用for循环 报错。
没有用async模块
狂顶async模块!超级好用,不过要注意应用环境啊,弄不好会有性能问题!
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
async
精辟
正在用,真的挺不错,呵呵
EventProxty https://github.com/JacksonTian/eventproxy
推荐async, 超级好用的module
我一般这么办,比如操作数据库,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){ … } });
作为初学者,弄清楚原理之前去借modules可能会走弯路的 … …
朋友 你这个也是用了 async 模块吗? 我现在也有个类似的功能,需要用事务,不知道怎么去实现比较好。 有没有好的方案?
在async中用for循环 报错。
没有用async模块
狂顶async模块!超级好用,不过要注意应用环境啊,弄不好会有性能问题!