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();
}
}
Behebt die folgenden Probleme:
- Wenn Sie async/await verwenden können, ist es sinnlos, immer noch
thenzu verwenden für diese Situationen.. - Sie müssen JSON nicht
stringifyundparsewenn Sie etwas protokollieren. - Wenn Sie einen Fehler beim Schließen einer Verbindung abfangen, sollten Sie ihn wirklich erneut auslösen, also die Funktion, die
getResultaufruft bekommt keinen Müll/undefinedder Rücken. Anstatt es erneut zu werfen, habe ich einfach einfinallyhinzugefügt Block, der die Verbindung immer schließt, ob erfolgreich oder nicht. - Da Sie async/await verwenden, sollte Ihre Javascript-Engine
letunterstützen undconst. Es ist besser alsvar=) - Sie haben nichts zurückgegeben.