Mysql
 sql >> Datenbank >  >> RDS >> Mysql

async und auf MySQL-Aufruf in node js warten

Sie müssen ein Versprechen von der asynchronen Funktion displayDB zurückgeben wenn Sie den await verwenden möchten Schlüsselwort im Test, müssen Sie zuerst lernen, wie Versprechungen funktionieren. Pseudocode :

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