Javascript node.js-将mysql结果合并到单个对象中
所以基本上我想做的是这样(不处理错误以缩短时间):Javascript node.js-将mysql结果合并到单个对象中,javascript,mysql,node.js,Javascript,Mysql,Node.js,所以基本上我想做的是这样(不处理错误以缩短时间): 现在我了解到,这是一个由于节点的异步性质而导致的问题。有没有办法得到我想要的结果?因为连接.query是异步的,组合字符串在您res.send时仍然是空的 您需要在回调函数中res.send: .get('/info', function(req, res){ var combinedString = ""; connection.query('SELECT col FROM table1 WHERE id = ?', [re
现在我了解到,这是一个由于节点的异步性质而导致的问题。有没有办法得到我想要的结果?因为
连接.query
是异步的,组合字符串
在您res.send
时仍然是空的
您需要在回调函数中res.send
:
.get('/info', function(req, res){
var combinedString = "";
connection.query('SELECT col FROM table1 WHERE id = ?', [req.user.id], function(err, rows){
combinedString += rows;
});
connection.query('SELECT col FROM table2 WHERE id = ?', [req.user.id], function(err, rows){
combinedString += rows;
});
res.send(combinedString);
})
.get('/info', function(req, res){
var combinedString = "";
connection.query('SELECT col FROM table1 WHERE id = ?', [req.user.id], function(err, rows){
combinedString += rows;
connection.query('SELECT col FROM table2 WHERE id = ?', [req.user.id], function(err, rows){
combinedString += rows;
res.send(combinedString);
});
});
})