Настоящая проблема здесь заключается в том, что эта часть if (conn) return conn.end();
.
Всякий раз, когда вы используете finally
, она отменяет все предыдущие return
, break
, continue
или throw
, которые происходят либо в указанных блоках try
или catch
.
Чтобы решить эту проблему, вы должны сделать так:
const utils = {
sendQuery: async function(query){
// Receives a query and returns raw results
// Query is using default database specified by pool
// Returns a Promise
let conn;
try {
conn = await pool.getConnection();
let queryString = query;
let rows = await conn.query(queryString);
let results = (this.formatResults(rows));
console.log(results);
return results;
} catch(err) {
throw new Error(err);
} finally {
if (conn) conn.end();
}
}
module.exports = {
'utils': utils
}
Надеюсь, что это работает