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=) - Не връщахте нищо.