Javascript JS返回一个值时给出;“未定义”;
我目前正在与electron合作,我需要从mysql数据库中获取一些数据,这些数据运行良好 但是在函数之间发送值存在问题。我对JS和electron有点陌生,所以可能我错过了一些东西:Javascript JS返回一个值时给出;“未定义”;,javascript,mysql,arrays,electron,Javascript,Mysql,Arrays,Electron,我目前正在与electron合作,我需要从mysql数据库中获取一些数据,这些数据运行良好 但是在函数之间发送值存在问题。我对JS和electron有点陌生,所以可能我错过了一些东西: function getUserData(user, data){ // connect var connection = connect(); // Perform a query $query = 'SELECT ' + data + ' FROM `users` WHERE user_id = ' +
function getUserData(user, data){
// connect
var connection = connect();
// Perform a query
$query = 'SELECT ' + data + ' FROM `users` WHERE user_id = ' + user;
// Query ausführen
connection.query($query, function(err, rows, fields) {
if(err){
console.log("There was an error with executing the query.");
console.log(err);
return;
}
return rows;
});
// End function
return;
}
所以基本上我想返回“行”,但它说它是未定义的。
正上方
return rows;
如果我和你核对一下
console.log(rows);
里面有数据
我错过什么了吗
提前谢谢 实际上,您使用
return返回undefined代码>
如果它(connection.query
)是同步的,那么只需执行返回connection.query(/*smth*/)
。
如果它是异步的,您将无法轻松做到这一点,您最好在作为参数提供的函数中,更改全局定义的变量的值(或者返回Promise/“asynchronous handling”对象,如果有) 从函数返回undefined。另外,我不熟悉该api,但您可能希望返回connection.query(…)。最近,该函数容易受到sql注入攻击。