【发布时间】:2021-04-08 04:20:07
【问题描述】:
我正在使用一个函数从多个 MySQL 表中收集数据以构建将返回的数组。我不知道为什么,但是当我返回以下代码时,我得到了undefined,尽管当我使用console.log 时,所有数据都正确显示?我不确定这是否是由于 return 语句比 MySQL 语句快,但我假设 Node 会等到所有 SQL 语句都完成后再返回?任何建议都会很棒。
function testfunction(){
let variable = "false",
variable2 = "false";
connection.query("SELECT COUNT(*) AS rowCount FROM `users`;",[], function (error, rows, fields) {
if (error) {console.log(error);}
let users = rows[0].rowCount;
connection.query("SELECT COUNT(*) AS rowCount FROM `towns`",[], function (error, rows, fields) {
if (error) {console.log(error);}
let towns = rows[0].rowCount;
let array = {
"data":{
"users":users,
"towns":towns,
"variable1":variable,
"variable2":variable2
}
};
console.log(array)
return array;
});
});
};
输出:
返回输出
undefined
console.log 输出
{ data:
{ towns: 1, users: 1, variable1: 'false', variable2: 'false' } }
提前感谢您的帮助,这不是我以前遇到过的问题,我很想知道我做错了什么:)
【问题讨论】:
-
这能回答你的问题吗? Nested query in node js using mysql
标签: javascript mysql node.js function