微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – NodeJS MySQL如何在查询函数之外获取结果

我似乎无法弄清楚如何在NodeJS MySQL Pool查询之外获取结果.这里有一些示例代码可以更好地解释我的意思.

var result = 'Hello World!';

var MysqL = require('MysqL');
var pool = MysqL.createPool({
    connectionLimit : 100,
    host            : process.env.DB_HOST,
    user            : process.env.DB_USERNAME,
    password        : process.env.DB_PASSWORD,
    database        : process.env.DB_DATABASE
});

pool.query('SELECT * from user LIMIT 10', function (err, rows) {
    result = rows;
});

res.send(result);

以上将返回’Hello world!’而不是查询.

如果我在pool.query函数中的console.log(result)它返回查询中的行,但我似乎无法获取函数之外的数据.我已记录该功能并​​检查了所有相关功能,我想我只是遗漏了一些基本功能.

解决方法:

您将在查询完成之前发回结果(并调用回调).在回调中发送结果将解决问题:

pool.query('SELECT * from user LIMIT 10', function (err, rows) {
    result = rows;
    res.send(result);
});

正如亚伦所指出的,这是一个普遍的问题.一个更彻底的答案可以找到here.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐