Показать сообщение отдельно
  #4 (permalink)  
Старый 10.10.2019, 11:13
Новичок на форуме
Отправить личное сообщение для Frol Посмотреть профиль Найти все сообщения от Frol
 
Регистрация: 31.05.2018
Сообщений: 9

Немного изучив mssql и Promise получил вот такой рабочий вариант:
const mssql = require('mssql');
const config = {
    server: "localhost",
    user: "sa",
    database: "support",
    password: "01470258"
}

class DB {
    constructor() {
        this.pool = new mssql.ConnectionPool(config);
        this.poolConnect = this.pool.connect().then(() => {
            console.log("Успешное подключение к базе данных");
            this.connect = true;
            this.request = this.pool.request();
        }, () => {
            console.log("Не удалось подключиться к базе данных");
            this.connect = false;
        });
    }

    async query(sql, cb) {
        await this.poolConnect;
        if (this.connect) {
            this.request.query(sql).then((result) => {
                console.log("Успешный запрос");
                cb(result.recordset);
            }, () => {
                console.log("Ошибка при обработке запроса");
                cb(null, "Ошибка при обработке запроса");
            });
        } else {
            cb(null, "Ошибка подключения к БД");
        };
    }
}

module.exports = DB;


Насколько хороша такая реализация?
Ответить с цитированием