【发布时间】:2020-08-09 05:49:07
【问题描述】:
我有两个异步函数,
async function sqlPushSteamappid(appId){
let tmp;
let sql='INSERT INTO cleetusbot.tmp (appId) VALUES ('+appId+');';
tmp = new Promise((res, rej) => {
global.pool.query(sql, function (err, results, fields) {
if(err){
console.log(err);
}
});
});
return await tmp;
}
和
async function sqlGetSteamNames(){
let tmp;
let sql='SELECT * FROM cleetusbot.steamGames INNER JOIN tmp ON cleetusbot.steamGames.appId = cleetusbot.tmp.appId;';
tmp = new Promise((res, rej) => {
global.pool.query(sql,function (err, results, fields) {
if(err){
console.log(err);
}
res(results);
});
});
await tmp;
return tmp;
}
两者都返回我需要的东西,但是大多数时候,当它们被称为 MySQL 查询时,它们要么没有完全返回,要么没有在承诺内返回答案。我是否在代码中遗漏了某些内容,或者我是否必须延长 MySQL 超时时间? 这是我在代码中调用它们的方式:
for(let i = 0; i < gameList.length; i++){
sqlPushSteamappid(gameList[i]);
}
//sometimes does not return anything
let steamNameObj = await sqlGetSteamNames();
【问题讨论】:
标签: javascript mysql node.js