我似乎无法弄清楚如何在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 举报,一经查实,本站将立刻删除。