В модуле Node.js есть несколько способов получить результат выполнения запроса к базе данных MySQL с использованием функции connection.query(). В этом ответе я рассмотрю два наиболее распространенных способа.
Первый способ - использование колбэка. Функция connection.query() принимает колбэк в качестве последнего аргумента. Колбэк вызывается при успешном выполнении запроса и принимает два аргумента - ошибку (если она возникла) и результат запроса. Вы можете проверить ошибку и обработать результат внутри колбэка. Вот пример:
const mysql = require('mysql'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mydatabase' }); connection.connect((error) => { if (error) throw error; connection.query('SELECT * FROM mytable', (error, result) => { if (error) throw error; // Обработка результата console.log(result); }); });
В этом примере мы устанавливаем соединение с базой данных, а затем выполняем запрос SELECT. Если запрос выполнен успешно, результат будет доступен в параметре 'result' колбэка.
Второй способ - использование промисов. Если вы не хотите использовать колбэки, вы можете обернуть вызов connection.query() в промис, используя обещания (Promises) или асинхронные/ожидаемые функции (Async/await). Вот пример:
const mysql = require('mysql2/promise'); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'mydatabase' }); (async () => { try { const result = await connection.query('SELECT * FROM mytable'); // Обработка результата console.log(result); } catch (error) { throw error; } finally { await connection.end(); } })();
В этом примере мы создаем асинхронную самовызывающуюся функцию, которая подключается к базе данных и выполняет запрос SELECT. Результат запроса будет доступен в переменной 'result'. Мы также используем блок 'try/catch/finally' для обработки ошибок и корректного завершения соединения с базой данных.
Оба этих способа позволяют получить результат выполнения запроса функции connection.query() и обработать его внутри кода Node.js. Вы можете выбрать тот, который больше всего соответствует вашим потребностям и стилю программирования.