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();
}
}
Lost de volgende problemen op:
- Als je async/wait kunt gebruiken, heeft het geen zin om nog steeds
then
te gebruiken voor deze situaties.. - Je hoeft JSON niet te
stringify
enparse
als je iets logt. - Als je een fout opmerkt om een verbinding te sluiten, moet je deze echt opnieuw gooien, zodat de functie die
getResult
aanroept krijgt geen rommel/undefined
rug. In plaats van het opnieuw te gooien, heb ik zojuist eenfinally
. toegevoegd blok dat altijd de verbinding verbreekt, of het nu succesvol was of niet. - Aangezien je async/wait gebruikt, zou je javascript-engine
let
moeten ondersteunen enconst
. Het is beter danvar
=) - Je hebt niets geretourneerd.