sql >> Databáze >  >> RDS >> Mysql

Node.js Použití async/wait s 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();
    }

}

Opravuje následující problémy:

  1. Pokud můžete použít async/wait, je zbytečné stále používat then pro tyto situace..
  2. Nemusíte stringify JSON a parse pokud něco zaznamenáváte.
  3. Pokud při ukončení připojení zachytíte chybu, měli byste ji opravdu vrátit, aby funkce, která volá getResult nedostane garbage/undefined zadní. Místo toho, abych to znovu hodil, jsem jen přidal finally blok, který vždy uzavře spojení, ať už bylo úspěšné nebo ne.
  4. Vzhledem k tomu, že používáte async/await, váš javascriptový stroj by měl podporovat let a const . Je to lepší než var =)
  5. Nic jste nevraceli.



  1. Použití ODBC se Salesforce a Azure Active Directory (AD) Single Sign On (SSO)

  2. mySQL vrátí všechny řádky, když pole=0

  3. Může Hibernate fungovat se syntaxí ON DUPLICATE KEY UPDATE MySQL?

  4. Může dojít k uváznutí se stejnou metodou přístupu?