Bạn cần trả về một lời hứa từ hàm không đồng bộ displayDB
nếu bạn muốn sử dụng await
từ khóa trong bài kiểm tra, trước tiên bạn cần tìm hiểu cách hoạt động của các lời hứa. Mã giả:
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()