sql >> Databasteknik >  >> RDS >> Mysql

asynkronisera och vänta på MySQL-anrop i nod js

Du måste returnera ett löfte från asynkronfunktionen displayDB om du vill använda await nyckelord i test måste du först lära dig hur löften fungerar. Pseudokod :

var displayDB = () => {
    return new Promise((resolve,reject)=>{
        connection.query('SELECT * FROM products', (err, resp) => {
            if (err) {
                reject(err)
            } else {
                const table = [];
                resp.forEach((product) => {
                    obj = {
                    'Product ID': product.productID,
                    'Category': product.category,
                    'Price': product.price,
                    'Stock': product.stockQuantity
                    }
                    table.push(obj)
                })
                resolve(table)
            }
        })
    })
}


var test = async () => {
   try{
    console.table(await displayDB())
    }catch(e){
        console.log(e)
    }
    connection.end()
}
test()

https://developer.mozilla.org/en -US/docs/Web/JavaScript/Reference/Global_Objects/Promise



  1. Skapa MySQL View med UNION

  2. Använder du 'OR' mellan HAVING och WHERE-satsen i MySQL?

  3. MariaDB CEIL() Förklarad

  4. SQL mindre än eller lika med (=) operatör för nybörjare