【问题标题】:JS returning a value gives "undefined" [duplicate]返回值的JS给出“未定义” [重复]
【发布时间】:2017-07-07 22:07:05
【问题描述】:

我目前正在使用电子,我需要从 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);

里面有数据

我错过了什么吗?

提前致谢!

【问题讨论】:

  • 你从你的函数返回 undefined 。我也不熟悉那个 api,但你可能想返回 connection.query(.....)。最近,该函数容易受到 sql 注入攻击。

标签: javascript mysql arrays electron


【解决方案1】:

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

如果它 (connection.query) 是同步的,那么只需执行 return connection.query(/*smth*/)。 如果它是异步的,您将无法轻松做到这一点,而您能做的最好的事情是,在作为参数提供的函数中,更改全局定义的变量的值(或返回 Promise/“异步处理”对象,如果有的话)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2017-08-14
    • 2018-07-03
    • 2021-06-29
    • 2016-12-13
    • 2020-06-16
    • 2019-10-01
    相关资源
    最近更新 更多