sql >> Database >  >> RDS >> Mysql

Node.js Async/wait gebruiken met 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();
    }

}

Lost de volgende problemen op:

  1. Als je async/wait kunt gebruiken, heeft het geen zin om nog steeds then te gebruiken voor deze situaties..
  2. Je hoeft JSON niet te stringify en parse als je iets logt.
  3. 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 een finally . toegevoegd blok dat altijd de verbinding verbreekt, of het nu succesvol was of niet.
  4. Aangezien je async/wait gebruikt, zou je javascript-engine let moeten ondersteunen en const . Het is beter dan var =)
  5. Je hebt niets geretourneerd.



  1. SQLiteReadOnlyDatabaseException:poging om een ​​alleen-lezen database te schrijven (code 1032)

  2. Probleem met SQLiteOpenHelper op Android 2.X en 3.X

  3. Kan de postgreSQL niet verbinden met psycopg2

  4. PHP - Maak de sleutel van de array van mijn query de ID