Я думаю, что это будет работать -

что я довольно новичок в узле, и я только что узнал об асинхронных и ожидающих функциях, предлагаемых в 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()

Ответы на вопрос(1)

Ваш ответ на вопрос