Я пытаюсь использовать обещание пакета npm - mysql и возвращать данные json (или строка не имеет значения), но у меня возникают проблемы после цепочки обещаний с await / asyn c.
С текущим кодом я получаю Promise {undefined} в console.log, который я имею прямо перед ответом пользователю. Ответ просто ничего не отправляет пользователю и закрывает его. Может кто-нибудь указать в правильном направлении, как отладить это?
index. js
app.get("/", async (req, res) => {
console.log( Promise.resolve(await getLogs()) )
res.send(await getLogs());
});
mysql. js
const mysql = require("promise-mysql");
let pool;
async function startDatabasePool() {
pool = await mysql.createPool({
connectionLimit: 10,
host: "xxx",
user: "xxx",
password: "xxx",
database: "xxx"
});
}
async function getDatabasePool() {
if (!pool) await startDatabasePool();
return pool;
}
module.exports = {
getDatabasePool,
startDatabasePool
};
пользователей . js
const { getDatabasePool } = require("./mysql");
async function getLogs() {
let pool = await getDatabasePool();
pool.query("SELECT * from logs order by logdate desc", function(
error,
results,
fields
) {
if (error) throw error;
return JSON.stringify(results);
});
}
module.exports = {
getLogs
};