Для работы с MySQL в Node.js и использования
async/await
для асинхронных операций, вы можете использовать библиотеку
mysql2/promise
, которая поддерживает промисы и позволяет использовать
async/await
. Вот пример того, как можно реализовать ваш запрос:
const mysql = require('mysql2/promise');
async function getData() {
const connection = await mysql.createConnection({
host: "127.0.0.1",
user: "root",
password: "",
database: "mania"
});
try {
const [rows, fields] = await connection.execute('SELECT * FROM price_history_1d');
for (let row of rows) {
console.log(`ID: ${row['birza']}, NAME: ${row['symbol']}, PRICE: ${row['price']}`);
// Теперь вы можете работать с каждой строкой данных как с объектом
// Например, вы можете сохранить данные в переменные или отправить их куда-либо
}
} catch (err) {
console.error(err);
} finally {
await connection.end();
}
}
getData();
Этот код создает асинхронную функцию
getData
, которая устанавливает соединение с базой данных, выполняет запрос и выводит результаты. Каждая строка результатов обрабатывается в цикле, и вы можете сохранять данные в переменные или использовать их для других операций внутри цикла.
Обратите внимание, что для использования
mysql2/promise
вам нужно будет установить этот пакет через npm:
npm install mysql2
Использование
async/await
позволяет писать асинхронный код, который выглядит как синхронный, и делает его более читаемым и удобным для отладки.