Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Node.js Verwenden von async/await mit mysql

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:

  1. Wenn Sie async/await verwenden können, ist es sinnlos, immer noch then zu verwenden für diese Situationen..
  2. Sie müssen JSON nicht stringify und parse wenn Sie etwas protokollieren.
  3. Wenn Sie einen Fehler beim Schließen einer Verbindung abfangen, sollten Sie ihn wirklich erneut auslösen, also die Funktion, die getResult aufruft bekommt keinen Müll/undefined der Rücken. Anstatt es erneut zu werfen, habe ich einfach ein finally hinzugefügt Block, der die Verbindung immer schließt, ob erfolgreich oder nicht.
  4. Da Sie async/await verwenden, sollte Ihre Javascript-Engine let unterstützen und const . Es ist besser als var =)
  5. Sie haben nichts zurückgegeben.