@Ispanec1998

Как из обработчика в Router запустить функцию, которая находится в него его?

У нас есть класс с подключением к сторонней БД
Мы создаем его через new Handler и делаем там подключение
Как нам использовать методы этого экземпляра в файле роутеров?
const express = require('express')
const router = express.Router()

router.get('/', (req, res) => {
Отсюда надо запустить функцию, которая находится в другом месте приложения
Handler.sendMessage(req.msg)
res.send(...)
Например в основном файле server.js, где мы описываем app.use('/api/users',  users)
}

module.exports = router


Или можно как-то в роутере
app.use('/api/users', users)
через userпередать внутрь него аргументом ссылку на наш new Handler, чтобы там его использовать?
  • Вопрос задан
  • 23 просмотра
Пригласить эксперта
Ответы на вопрос 1
easimonenko
@easimonenko
Любитель
Я делал так:
- в модуле с роутером создавал инициализирующую процедуру init(), которая получала на вход подключение к базе данных
- в основном модуле делал подключение к БД и вызывал инициализирующие процедуры всех моделей с роутерами

Можно ещё сделать так:
- сделать модуль db с подключением к БД connect(), которое будет в нём храниться
- вызвать процедуру подключения к БД connect() в основном модуле
- получать подключение в роутерах из db методом getConnection()

Надеюсь изложил идеи понятно...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы