pool.request не является функцией - PullRequest
0 голосов
/ 20 мая 2019

Я хотел бы настроить свои подготовленные заявления с помощью модуля mssql . Я создал файл запросов для всех пользовательских запросов.

const db = require('../databaseManager.js');

module.exports = {
  getUserByName: async username => db(async pool => await pool.request()
    .input('username', dataTypes.VarChar, username)
    .query(`SELECT
              *
            FROM
              person
            WHERE
              username = @username;`))
};

Этот подход позволяет мне запрашивать этот файл запроса и обращаться к базе данных, выполняя необходимый запрос

const userQueries = require('../database/queries/users.js');

const userQueryResult = await userQueries.getUserByName(username); // call this somewhere in an async function

Мой менеджер баз данных обрабатывает соединение с базой данных и выполняет запрос

const sql = require('mssql');
const config = require('../config/database.js');
const pool = new sql.ConnectionPool(config).connect();

module.exports = async request => {
  try {
    const result = await request(pool);

    return {
      result: result.recordSet,
      err: null
    };
  } catch (err) {
      return {
          result: null,
          err
      }
  }
};

Когда я запускаю код, я получаю следующую ошибку

UnhandledPromiseRejectionWarning: TypeError: pool.request не является функция

Кто-нибудь знает, что не так с кодом?

Я думаю, что это происходит, потому что пул еще не инициализирован ... но я использовал async / await для обработки этого ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...