尝试将node-mysql数据库查询的结果发送到客户端。
代码:
io.on('connection', function(socket){
socket.on('admin', function() {
[...]
locations = getUserInfo(function(e,c){...});
[...]
});
});
function getUserInfo(callback) {
var json = '';
connection.query('SELECT * from locations WHERE loc_id = 1', function(err, results, fields) {
if(err)
return callback(err, null);
console.log('The query-result is: ', results[0]);
json = JSON.stringify(results);
console.log('JSON-result: ', json);
callback(null, json);
});
};
getUserInfo(function(e,c){
console.log(c);
});
这是按预期工作的。
但我不想将它写入控制台,而是将其发送到客户端(使用socket.io)。我怎样才能做到这一点?我的所有尝试都以 undefined 结束。
答案 0 :(得分:0)
您可能正在发送locations
对象,这始终是未定义的。尝试:
io.on('connection', function(socket){
socket.on('admin', function() {
getUserInfo(function(e,c){
if(!e){
socket.emit('locations', c);
}
});
});
});