【发布时间】:2021-08-05 14:10:40
【问题描述】:
我会尽量简单,当我想在函数 (SetLogs) 中执行异步查询时,我会在所有通话结束时在日志中看到我的 console.log('query 1 log'),而不是在 console.log('start log '); 之间看到他和console.log('return pool logs'); 我有两部分:
我的主要任务
logs.SetLogs(pool, req, res).then(bResultLog=> {
console.log('return pool logs');
})
console.log("END")
return pool
设置日志功能:
static async SetLogs(pool, req, res) {
var now = new Date();
var endpoint = req.originalUrl.split("?")[0].replace("/", "")
var query = "INSERT INTO LOGS_PORTAIL (ENDPOINT, TYPE, DATE_HEURE_LOGS, LOGIN) VALUE ('" + endpoint + "','" + req.method + "','" + now.toISOString().slice(0, 19).replace('T', ' ') + "','" + 'API' + "')";
console.log('start log ');
pool.query(query, function(err, results) {
console.log('query 1 log ');
return true
});
console.log('fin log ');
}
这是我的日志:
start log
fin log
END
return pool logs
query 1 log
【问题讨论】:
-
你不见了
await -
我不使用mysql promsie,回调函数应该做异步
-
请参阅How do I convert an existing callback API to promises? 将您的回调转换为承诺
标签: javascript asynchronous callback