sql >> Base de Datos >  >> RDS >> Mysql

Node.js Usando async/await con 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();
    }

}

Soluciona los siguientes problemas:

  1. Si puede usar async/await, no tiene sentido seguir usando then para estas situaciones..
  2. No necesita JSON stringify y parse si está registrando algo.
  3. Si detecta un error al cerrar una conexión, realmente debería volver a lanzarlo para que la función que llama a getResult no recibe basura/undefined espalda. En lugar de volver a lanzarlo, solo agregué un finally bloque que siempre cierra la conexión, haya tenido éxito o no.
  4. Dado que está utilizando async/await, su motor de JavaScript debería ser compatible con let y const . Es mejor que var =)
  5. No estabas devolviendo nada.