@Torento20345

Можно получить промис запроса к бд без коллбека?

Есть запрос
sql.query("SELECT * FROM users");
Могу ли я как-то получить промис запроса к БД без коллбека?
Что бы не пришлось писать
sql.query("SELECT * FROM users", (err, res) => {resolve(res)});
  • Вопрос задан
  • 72 просмотра
Решения вопроса 2
@writer_2159
Жуть... просто жуть...
Предположу что такой вариант нужен?

async await
async getAll(_sql) {

        let conn;
        try {
            conn = await this.pool.getConnection();
            return await conn.query(_sql);

        } catch (err) {
            throw Error(err);
        } finally {
            if (conn) {
                await conn.release();
            }
        }

    }
getAll("SELECT * FROM users").then(rows => {

            if (rows.length) {
                return rows[0];
            } else {
                return null;
            }
        })
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
new Promise((resolve, reject) => {
  sql.query("SELECT * FROM users", (err, result) => {
    if (err) reject(err);
    else resolve(result);
  });
})
.then((result) => {
  console.log("Result!", result);
})
.catch((err) => console.error(err));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы