Mysql
 sql >> Base de données >  >> RDS >> Mysql

Node.js Utiliser async/wait avec 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();
    }

}

Résout les problèmes suivants :

  1. Si vous pouvez utiliser async/wait, il est inutile de continuer à utiliser then pour ces situations..
  2. Vous n'avez pas besoin de JSON stringify et parse si vous enregistrez quelque chose.
  3. Si vous rencontrez une erreur pour fermer une connexion, vous devriez vraiment la relancer afin que la fonction qui appelle getResult n'obtient pas de déchets/undefined retour. Au lieu de le relancer, j'ai juste ajouté un finally bloc qui ferme toujours la connexion, qu'elle ait réussi ou non.
  4. Puisque vous utilisez async/wait, votre moteur javascript doit prendre en charge let et const . C'est mieux que var =)
  5. Vous ne retourniez rien.