【发布时间】:2013-12-17 22:02:47
【问题描述】:
我有一个需要遍历的对象数组,并将每个项目插入数据库(postgres)。我正在使用_.each 来遍历数组。
arr = [
{name: 'Aaron', description: 'First'},
{name: 'Brian', description: 'Second'},
{name: 'Chris', description: 'Third'}
]
var i = 0;
_.each(array, function(lt){
var client = new pg.Client(self.getConnString());
client.connect(function(err) {
if (err) {
//doSomething//
}
var sql = 'insert into load_test (name,description) values(\''+lt.name+'\', \''+lt.description+'\')';
console.log(i + " <- query: " + lt.name + " desc: " + lt.description);
query = client.query(sql);
query.on('end', client.end.bind(client));
i++;
});
});//each
如何编写此函数 (_each),使其在每次查询执行时都是异步的?
谢谢
【问题讨论】:
-
您为什么要这样做?会有什么好处?
-
我将能够同步执行多次“插入”查询
-
是的,但是为什么呢?为什么要为多个插入使用多个连接?你认为它会更快还是什么?
-
哦,现在我得到了你的问题 :)... 我试图将客户端创建从每个范围中取出,但随后出现内存泄漏异常。
标签: postgresql asynchronous underscore.js node-postgres