Редактировать: Ответ на вопрос.Код правильный, просто нужно перебрать результаты или получить доступ к каждому элементу по отдельности.
Я пишу бот Discord с MySql.Мне нужно проверить таблицу на наличие пользователя, прежде чем я смогу выполнить другую обработку.Основной корпус (здесь не показан) устанавливает соединение и собирает пользовательские команды, вызывая соответствующий модуль.В этом случае args [0] будет иметь значение для поиска в таблице.Похоже, что сроки строк обещания и ожидания правильные, так как «Результаты» выводятся после возврата testUser.Однако результаты возвращают [объектный объект] вместо строк (таблица не пуста).Разве не разрешать (строки) внутри функции возвращать выбранные строки?Я пытаюсь избежать добавления дополнительных модулей, если мне не нужно.
const discord = require("discord.js");
const mySql = require("mysql");
module.exports.run = async (bot, message, args, conn) => {
const results = await testUser(args[0], conn);
console.log("Results: " + results);
}
function testUser(userName, conn) {
return new Promise((resolve, reject) => {
conn.query(`SELECT * FROM user_master WHERE user_name =
'${userName}'`, (err, rows) => {
if(err) reject(err);
else resolve(rows);
});
});
}