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

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

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

@H_404_4@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)它返回查询中的行,但我似乎无法获取函数之外的数据.我已记录该功能并​​检查了所有相关功能,我想我只是遗漏了一些基本功能.

解决方法:

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

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

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

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

相关推荐