使用mysql的nodejs无法查询两次

使用mysql的nodejs无法查询两次,mysql,node.js,Mysql,Node.js,在本地,它可以获取消息和用户,但当它在服务器上时,它只查询一次,因此“消息”丢失。添加一个。On('error',function(err)callback,这样您就可以跟踪错误了……我假设操作在服务器上花费的时间太长,数据库连接正在关闭。我正在使用池连接,所以我将节点连接到数据库。我只是尝试记录错误,但没有记录错误。 var messages = []; var senders = []; db.query('select * from message where (sender_id=? a

在本地,它可以获取消息和用户,但当它在服务器上时,它只查询一次,因此“消息”丢失。

添加一个
。On('error',function(err)
callback,这样您就可以跟踪错误了……我假设操作在服务器上花费的时间太长,数据库连接正在关闭。我正在使用池连接,所以我将节点连接到数据库。我只是尝试记录错误,但没有记录错误。
var messages = [];
var senders = [];
db.query('select * from message where (sender_id=? and receiver_id = ?) or (sender_id=? and receiver_id = ?) order by created desc limit 0,5 ', [senderId, receiverId, receiverId, senderId])
    .on('result', function (data) {
        messages.push(data);
    })
    .on('end', function () {
        db.query('select name,thumb_file_name,user_id,thumbnail_width,thumbnail_height from users where user_id = ? ', senderId)
        .on('result', function (data) {
            senders.push(data);
        })
        .on('end', function () {
            console.log('messages',messages);
            console.log('users',senders);
            console.log('senderId',senderId);
            console.log('receiverId',receiverId);
            io.to(socketId).emit("message", {messages: messages, users: senders});
        });
    });