我在Node.js中有MySQL查询,试图在其中返回“变量”并分配给getVarible进行查询。在这种情况下可以这样做吗?如果是这样,怎么办?

这是我的代码:

var sqlQuery = connection.query(result, function(err, rows, fields) {
        var count = rows.length;
        if(count === 1){
            var variable = rows[0].item;
            return variable;
        }
    }
});

var getVariable = variable;

最佳答案

如果在查询调用之前声明getVariable,则在返回查询后,应该可以在cacllback功能内访问它。您可以尝试如下操作:

var getVariable = {};

var sqlQuery = connection.query(result, function(err, rows, fields) {
        var count = rows.length;
        if(count === 1){
            getVariable = rows[0].item;
        }
    }
});


但是请记住,查询执行是异步的,因此在执行回调之前,变量将为空。

因此,我建议您使用所有在回调中执行该变量或使用apromise异步框架的逻辑。

关于javascript - 从Node.js中的SQL查询返回变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43050057/

10-09 23:55
查看更多