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

asíncrono y espera en la llamada MySQL en el nodo js

Debe devolver una promesa de la función asíncrona displayDB si desea utilizar el await palabra clave en la prueba, primero debe aprender cómo funcionan las promesas. Pseudocódigo:

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