【发布时间】:2020-02-16 07:46:12
【问题描述】:
我正在使用 NodeJs 从 mysql 数据库中获取数据,从结果对象/数组中我想使用从 mysql 返回的数据执行特定操作(调用 Web 服务)。不幸的是,每当我遍历 mysql 结果并调用 Web 服务时,只有 mysql 结果集中的一个对象会针对 Web 服务调用。这是我的代码。
app.get('/blt', function(req, res){
var sql = "SELECT dest, amt FROM dit WHERE dest != 'DEST' && amt != 'AMT'";
pool.getConnection(function(err, conn){
if(err){
console.log("MYSQL Connection Error: "+err);
}
else{
conn.query(sql, function(err2, result){
if(err2){
console.log("Some error: "+err2);
}
else{
//console.log(JSON.stringify(result));
Object.keys(result).forEach(function(key) {
let result_ = result[key];
let sn = Math.floor((Math.random() * 900000000) + 100000000);
let dacc_ = result_.dest;
console.log(dacc_);
let blDetail = {
"BalDto": {
"Src": "XXXXXX",
"Code": 1,
"Amt": 10,
"Dac": dacc_, //Variable from mysql resultset
"Cmt": "Ok",
"SN": sn
}
};
soap.createClient(url, function(err, client) {
client.addSoapHeader(AuthHeader);
client.BalTransfer(blDetail, function(err, result) {
if (err) {
console.log(err.body);
} else {
console.log("done");
}
});
});
}
);
}
conn.release(function(errs){
if(errs){
console.log(errs)
}
});
});
}
});
});
我尝试使用异步,但仍然得到相同的结果,只有一个返回的 mysql 结果集被发送到 Web 服务。
我想把所有的结果集一一发送到webservice,请帮忙
【问题讨论】:
标签: javascript mysql node.js asynchronous