async function getResult(){
let connection;
try {
connection = await mysql.createConnection(dbConfig);
const result = await connection.query('select height from users where pin=1100');
console.log(result[0].height);
return result[0].height;
} finally {
if (connection && connection.end) connection.end();
}
}
Risolve i seguenti problemi:
- Se puoi usare async/await, è inutile continuare a usare
thenper queste situazioni.. - Non è necessario JSON
stringifyeparsese stai registrando qualcosa. - Se si rileva un errore per chiudere una connessione, è necessario rieseguirlo in modo che la funzione che chiama
getResultnon ottiene spazzatura/undefinedIndietro. Invece di rilanciarlo, ho appena aggiunto unfinallyblocco che chiude sempre la connessione, che sia andata a buon fine o meno. - Dato che stai usando async/await, il tuo motore javascript dovrebbe supportare
leteconst. È meglio divar=) - Non stavi restituendo nulla.