查询连接查询回调内部

时间:2014-05-01 10:45:59

标签: node.js node-mysql

我正在尝试获取一个表,其名称在另一个表中定义并返回结果。

我已经使用以下方法定义了一个数据库模块:

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循环,但遇到的事情变得不同步。

0 个答案:

没有答案