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
then
pro tyto situace.. - Nemusíte
stringify
JSON aparse
pokud 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á
getResult
nedostane garbage/undefined
zadní. Místo toho, abych to znovu hodil, jsem jen přidalfinally
blok, 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
let
aconst
. Je to lepší nežvar
=) - Nic jste nevraceli.