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();
}
}
Opravuje následující problémy:
- Pokud můžete použít async/wait, je zbytečné stále používat
thenpro tyto situace.. - Nemusíte
stringifyJSON aparsepokud něco zaznamenáváte. - Pokud při ukončení připojení zachytíte chybu, měli byste ji opravdu vrátit, aby funkce, která volá
getResultnedostane garbage/undefinedzadní. Místo toho, abych to znovu hodil, jsem jen přidalfinallyblok, který vždy uzavře spojení, ať už bylo úspěšné nebo ne. - Vzhledem k tomu, že používáte async/await, váš javascriptový stroj by měl podporovat
letaconst. Je to lepší nežvar=) - Nic jste nevraceli.