gpt4 book ai didi

javascript - NodeJs 对每个返回的 MySql 结果对象执行操作

转载 作者:行者123 更新时间:2023-11-29 15:33:44 24 4
gpt4 key购买 nike

我使用 NodeJs 从 mysql 数据库中获取数据,从结果对象/数组中我想使用从 mysql 返回的数据执行特定操作(调用 Web 服务)。不幸的是,每当我迭代 mysql 结果并调用 Web 服务时,只会针对 Web 服务调用 mysql 结果集中的一个对象。这是我的代码。

    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,请帮忙

最佳答案

您实际上是在迭代来自 MySQL 的响应,这是一个内容列表,然后您对其中的每一个进行肥皂调用。

您需要做的是:

  1. 检查肥皂客户端及其接受的内容。
  2. 看看它是否接受您的 BalDto 对象数组
  3. 利用 const listOfBalDtos = object.keys(result).map();进行转变
  4. 提出请求:

     soap.createClient(url, function(err, client) {
    client.addSoapHeader(AuthHeader);
    client.BalTransfer(listOfBalDtos);
    });

尝试这样的事情。

关于javascript - NodeJs 对每个返回的 MySql 结果对象执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465640/

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