Devi restituire una promessa dalla funzione asincrona displayDB
se vuoi usare il await
parola chiave nel test, devi prima imparare come funzionano le promesse. Pseudo codice :
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