javascript - 如何从表中读取sql数据并在nodejs中生成变量?
问题描述
使用 MSSQL 模块,我一直在尝试查看创建两个函数,主要是从数据库表中读取数据并将其转换为变量。另一个将从 get 请求写入数据并更新数据库表。
我有以下用于读取数据的内容,但登录后我没有得到任何响应,不确定我做错了什么。
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()
到函数的function()
部分con.query()
以解决您的问题。我也允许自己重写一下,所以它使用 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);
};
};
};
哦,你也有语法错误。最后一个)
无效。
推荐阅读
- reactjs - ReactJS 使用 axios post 不断给我错误 400(错误请求)
- javascript - 增加连接到由于访问者涌入而暂时超时的服务器的几率的最佳方法是什么?
- rust - 找不到“rustc_driver”的箱子
- python - 用字符串中的重复标记替换两个字符串之间的字符串
- android - Android RecyclerView 水平 GridLayoutManager 与装饰错误?
- neo4j - 在 Neo4j 中使用 UNWIND 的困难
- vb.net - VB.net中的可写列表类型自定义控件属性
- typescript - 递归条件类型究竟是如何工作的?
- github-actions - 如何配置 git 以在 GitHub 操作结帐中使用 PAT 令牌
- javascript - 如何在 JavaScript 中将一组字符串转换为“ONE”数组?