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();
}
}
Коригира следните проблеми:
- Ако можете да използвате async/await, безсмислено е все още да използвате
then
за тези ситуации.. - Не е необходимо да JSON
stringify
иparse
ако записвате нещо. - Ако хванете грешка за затваряне на връзка, наистина трябва да я хвърлите отново, така че функцията, която извиква
getResult
не получава боклук/undefined
обратно. Вместо да го хвърля отново, просто добавихfinally
блок, който винаги затваря връзката, независимо дали е била успешна или не. - Тъй като използвате async/await, вашата javascript машина трябва да поддържа
let
иconst
. По-добре е отvar
=) - Не връщахте нищо.