Я хотел бы настроить свои подготовленные заявления с помощью модуля 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 для обработки этого ...