我使用node-mysql保存数据,在获得pool之后,会有一个事件循环运行,直到pool.end()调用。我在一个循环中连接到MySQL,在node-mysql回调函数中获得结果,我想知道所有连接何时完成,以便我可以cll pool.end()。
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'xxxxxx',
user: 'xxxxxx',
password: 'xxxxxx',
database: 'xxxxxx'
});
aArray.forEach(function(u) {
pool.getConnection(function(err, connection) {
if (connection) {
var i = connection.query(aSQL, function(err, rows) {
})
}
connection.release();
})
})发布于 2014-04-15 02:17:50
您可以使用类似于异步的内容,也可以只使用一个简单的计数器变量:
var conns = aArray.length;
aArray.forEach(function(u) {
pool.getConnection(function(err, connection) {
if (connection) {
var i = connection.query(aSQL, function(err, rows) {
if (--conns === 0)
pool.end();
});
} else if (--conns == 0)
pool.end();
connection.release();
});
});https://stackoverflow.com/questions/23073427
复制相似问题