【发布时间】:2021-12-15 02:31:48
【问题描述】:
使用 Node.js 和 MySQL 数据库我正在做一个小项目。
我正在尝试遍历一个数组以从 MySQL 数据库中获取一些值。我正在搜索用户输入的“药物名称”对应的“药物 ID”。我的代码工作正常,这就是它的外观。
var medizinArray = [];
function appendArray(input) {
medizinArray.push(input);
}
var sqlMedNameToId = "SELECT MedikamentId FROM Medikament WHERE Bezeichnung = ?"
for (var i=0;i<medicineMontag.length;i++){
var montagsMedizin = medicineMontag[i];
mySqlConnection.query(sqlMedNameToId, montagsMedizin, function(err, rows, fields){
if(!err) {
result = rows[0].MedikamentId;
appendArray(result);
} else {
console.log(err);
}
})
}
console.log(medizinArray);
代码正在运行,但我无法将 medizinArray 退出 for 循环。在我的控制台中,我得到一个空数组。当我将 console.log(medizinArray) 放入 for 循环中时,我得到了我想要的数组。
我目前不熟悉 Promises。我阅读了它并看到了其他一些问题,但我不知道如何在我的代码中实现 Promises。
【问题讨论】:
-
'我目前不熟悉 Promises'。异步编程(
async/await,Promise)是 javascript 编程的重要组成部分。您应该至少先学习基础知识。否则无论如何回答你的问题都没有意义 -
@ABDULLOKHMUKHAMMADJONOV 感谢您的建议。我想我对此无话可说。 :)
标签: javascript mysql sql node.js promise