Socket.io 无法从我的函数返回值
我无法从函数返回值,我的sql没有问题。它工作正常,我只是无法返回结果值并将其传递给res变量Socket.io 无法从我的函数返回值,socket.io,node-mysql,Socket.io,Node Mysql,我无法从函数返回值,我的sql没有问题。它工作正常,我只是无法返回结果值并将其传递给res变量 io.on('connection', function (socket) { socket.on('getdetails', function (data) { var res = getdatatodb(data.id); console.log("result",res);
io.on('connection', function (socket) {
socket.on('getdetails', function (data) {
var res = getdatatodb(data.id);
console.log("result",res);
});
});
});
function getdatatodb(id){
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
var options = {sql: ".....",nestTables: true };
connection.query(options,function(err, results) {
if(err){
console.log(err);
}
return results;
});
});
}
提前谢谢你。这是一堆其他问题。当您从回调返回一个值时,该值将返回到调用回调的引擎中,而不是从外部函数返回。而且,回调通常是异步的,这意味着它是在外部函数已经完成很长时间后调用的。那么我如何得到结果呢?可能是重复的。您可以在完成回调中处理结果,或者从回调中调用某些函数。无法从外部函数返回结果。您可能希望将回调函数传递给
getdatatodb()
,当结果可用时可以调用该函数。无法从异步操作同步返回数据。无法在Javascript中完成。