我正在尝试获取一个表,其名称在另一个表中定义并返回结果。
我已经使用以下方法定义了一个数据库模块:
var mysql = require("mysql");
var config = require("../config/database.js");
module.exports = {
pool: mysql.createPool({
host: config.host,
user: config.user,
database: config.database,
password: config.password,
}),
getConnection: function(callback) {
this.pool.getConnection(callback);
},
fetch: function(table, callback) {
this.getConnection(function(err, connection) {
if(err) {
callback(err);
} else {
connection.query("SELECT * FROM ??", table, callback);
connection.release();
}
});
},
};
我正在尝试获取表格,然后是" sub"像这样的表:
db.fetch("foo", function(err, rows) {
if(err) {
throw err;
} else {
_.each(rows, function(row) {
db.fetch(row.tbl, function(err, result) { console.log(err, result); });
});
}
});
但是从不调用内部提取回调。
这是为什么?我怀疑我需要在建立第二个连接之前关闭第一个连接,所以我尝试在外面进行each
循环,但遇到的事情变得不同步。