JS返回一个值会给出" undefined"

时间:2017-07-07 22:07:05

标签: javascript mysql arrays electron

我目前正在使用电子工作,我需要从mysql数据库中获取一些数据,这些工作正常。

但是在函数之间发送值存在问题。我对JS和电子有点新意,所以也许我错过了一些东西:

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);

它有数据

我错过了什么吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

好吧,你实际上用return;返回undefined。

如果它(connection.query)是同步的,那么只需return connection.query(/*smth*/)。 如果它是异步的,你将无法轻松地做到这一点,你可以做的最好的事情是,在作为参数提供的函数中,改变全局定义的变量的值(或返回Promise /&# 34;异步处理"对象(如果有的话)。