gpt4 book ai didi

mysql - 如何从MySQL服务器检索nodejs列表中所有项目的数据?

转载 作者:行者123 更新时间:2023-11-29 16:15:30 25 4
gpt4 key购买 nike

我正在制作一个基于图形的网络程序。我正在使用nodejs。我有一个存储顶点 ID 的键调用映射列表。我想使用 ID 从 MySQL 检索这些顶点的名称。我已经找到了解决方案,但我不确定它是否每次都有效。这是我的代码。

for(var i=0;i<map.length;++i){
con.query('SELECT * FROM station WHERE id='+map[i],function(err,result,field){
if(err)
console.log("ERROR 3");
else{
result.forEach(function(r){
stationName.push(r.name);
})
if(stationName.length==map.length){
console.log(stationName);
res.render('route/showroute.ejs',{stationName: stationName});
}
}
})
}

我想知道我的最后一个 map 查询是否可能在其他查询之前加载,这可能会导致车站名称以错误的顺序存储。我是 JavaScript 新手。

最佳答案

您可以使用async await函数来做到这一点

var getDataById = function (id) {
return new Promise(function (resolve, reject) {
con.query('SELECT * FROM station WHERE id=' + id, function (err, result, field) {
if (err) {
console.log("ERROR 3");
reject(err);
} else {
resolve(result);
}
});
});
};

(async function () {
for (var i = 0; i < map.length; ++i) {
var data = await getDataById(map[i]);
data.forEach(function (r) {
stationName.push(r.name);
});
if (stationName.length == map.length) {
console.log(stationName);
}
}
})();

关于mysql - 如何从MySQL服务器检索nodejs列表中所有项目的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54839476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com