Я думаю, что это будет работать -
что я довольно новичок в узле, и я только что узнал об асинхронных и ожидающих функциях, предлагаемых в javascript. Я пытаюсь реализовать этот метод в приведенном ниже фрагменте кода. Насколько я понимаю, ответ базы данных должен сначала распечатать на консоль, а затем «готово», но я не могу заставить его работать. Любая помощь будет принята с благодарностью.
Пожалуйста, попробуйте объяснить, что вы сделали, чтобы это исправить, потому что я хочу понять, что я делаю неправильно.
var mysql = require("mysql");
const cTable = require('console.table');
var connection = mysql.createConnection({
host: "localhost",
port: 8889,
user: "root",
password: "root",
database: "testDB"
})
connection.connect((err, fields) => {
if (err) {
return console.log(err.code);
}
});
var displayDB = async () => {
connection.query('SELECT * FROM products', (err, resp) => {
if (err) {
return console.log(err.code);
} else {
table = [];
resp.forEach((product) => {
obj = {
'Product ID': product.productID,
'Category': product.category,
'Price': product.price,
'Stock': product.stockQuantity
}
table.push(obj)
})
console.table(table)
connection.end()
}
})
}
var test = async () => {
var x = await displayDB()
console.log('done')
}
test()