一尘不染

退出后无法排队握手

node.js

在这里,我可能正在做一些基本的错误,总的来说,我已经实现了这样的代码:

module.exports = {
    getDataFromUserGps: function(callback)
    {
        connection.connect();
        connection.query("SELECT * FROM usergps", 
            function(err, results, fields) {
                if (err) return callback(err, null);
                return callback(null, results);
            }
        ); 
        connection.end();
    },
    loginUser: function(login, pass, callback)
    {
        connection.connect();
        connection.query(
            "SELECT id FROM users WHERE login = ? AND pass = ?",
            [login, pass],
            function(err, results, fields) 
            {
                if (err) return callback(err, null);
                return callback(null, results);
            }
        ); 
        connection.end();
    },
    getUserDetails: function(userid, callback)
    {
        connection.connect();
        connection.query(
            "SELECT * FROM userProfilDetails LEFT JOIN tags ON userProfilDetails.userId = tags.userId WHERE userProfilDetails.userid = ?",
            [userid],
            function(err, results, fields)
            {
                if (err) return callback(err, null);
                return callback(null, results);
            }
        );
        connection.end();
    },
    addTags: function(userId, tags)
    {
        connection.connect();
        connection.query(
            "INSERT INTO tag (userId, tag) VALUES (?, ?)",
            [userId, tags],
            function(err, results, fields)
            {
                if (err) throw err;
            }
        )
        connection.end();
    }
}

一切都很好,但是只有第一次,如果我想第二次“使用”查询,我会收到他的错误:

退出后无法排队握手

我还没有尝试到.END()连接,但它并不能帮助
在此先感谢
拉德克


阅读 189

收藏
2020-07-07

共1个答案

一尘不染

如果使用node-
mysql模块,则只需删除.connect和.end。自己解决问题。显然,他们在上次迭代中输入了不必要的代码,该代码也有问题。如果您已经运行过createConnection调用,则无需连接

2020-07-07