作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 MSSQL 模块,我一直在尝试查看创建的两个函数,主要是一个从数据库表中读取数据并将其转换为变量的函数。另一个将从获取请求写入数据并更新数据库表。
我有以下读取数据的方法,但登录后我没有收到任何响应,不确定我做错了什么。
let id = {};
let date = {};
let response = {};
let readLoggerData = function(err) {
if (err) throw err;
con.query('SELECT * FROM Logging ORDER BY Date DESC;'),
function(id, response, date) {
if (response) {
id = request.query('SELECT TOP 1 id from Logging;');
date = request.query('SELECT TOP 1 Date FROM Logging;');
response = request.query('SELECT TOP 1 Response from Logging;');
};
};
};
console.log(id);
});
最佳答案
当你调用一些异步的东西时,你需要等待它完成。您的 console.log()
在代码运行后立即被调用,但 con.query()
可能需要几秒钟。
解决方法:将console.log()
移动到con.query()
函数的function()
部分解决你的问题。我也允许自己稍微重写它,所以它使用 ES6 语法(基本上只是删除函数)。您应该考虑在将来这样做。
let id = {};
let date = {};
let response = {};
let readLoggerData = err => {
if (err) throw err;
con.query('SELECT * FROM Logging ORDER BY Date DESC;'),
(id, response, date) => {
if (response) {
id = request.query('SELECT TOP 1 id from Logging;');
date = request.query('SELECT TOP 1 Date FROM Logging;');
response = request.query('SELECT TOP 1 Response from Logging;');
console.log(id);
};
};
};
哦,你也有语法错误。最后的 )
无效。
关于javascript - 如何从表中读取sql数据并将其放入nodejs中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51601414/
我是一名优秀的程序员,十分优秀!