如何解决如何在节点中使用异步等待连接到mySql?
我想使用异步等待重写以下代码。问题是在使用以下代码时,我应如何返回nextInvoiceNo。作为对我使用回调的请求的响应,因为nextInvoiceNo。价值正在括号之外丢失。并且请帮助我使用async await编写代码。
const mysql = require('mysql');
const db = mysql.createConnection({
host: 'localhost',user: 'root',password : '',database : 'data2020'
});
app.get('/nextInvoiceNumber',(req,res)=>{
let shopName = "KR";
let counterName = "F";
let nextInvoiceNo = 1;
shopName = shopName.trim();
counterName = counterName.trim();
//get shop id
let st = getStoreByName(shopName,(err,result)=>{
if(err){
console.log(err);
}else{
if(result.length>0){
result.forEach(element=>{
storeId = element['id'];
});
let sql = "Select * from store_sale where store_id = '"+storeId+"' and counter_name = '"+counterName+"' and is_delete <> '1' ORDER BY invoice_no DESC LIMIT 0,1";
let t = db.query(sql,res)=>{
if(err){
console.log(err);
}
else{
if(res.length>0){
res.forEach(element=>{
nextInvoiceNo = element['invoice_no']+1;
});
}
else{
console.log("No Sales Found");
}
}
});
}
else{
console.log("Invalid StoreName")
}
}
});
res.send("done");
})
function getStoreByName(shopName,callback)
{
name=shopName.trim();
sql = "Select id,name from store_master where name = '"+name+"' AND is_delete <> '1' LIMIT 0,1"
let t = db.query(sql,result)=>{
if(err){
callback(err,null);
}
else{
callback(null,result);
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。