Vous devez renvoyer une promesse à partir de la fonction asynchrone displayDB
si vous voulez utiliser le await
mot-clé dans le test, vous devez d'abord apprendre comment fonctionnent les promesses. Pseudo-code :
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