Mysql
 sql >> Database >  >> RDS >> Mysql

Node.js Utilizzo di 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();
    }

}

Risolve i seguenti problemi:

  1. Se puoi usare async/await, è inutile continuare a usare then per queste situazioni..
  2. Non è necessario JSON stringify e parse se stai registrando qualcosa.
  3. Se si rileva un errore per chiudere una connessione, è necessario rieseguirlo in modo che la funzione che chiama getResult non ottiene spazzatura/undefined Indietro. Invece di rilanciarlo, ho appena aggiunto un finally blocco che chiude sempre la connessione, che sia andata a buon fine o meno.
  4. Dato che stai usando async/await, il tuo motore javascript dovrebbe supportare let e const . È meglio di var =)
  5. Non stavi restituendo nulla.