Node.js / Express: Возможность создать 2 отдельных экземпляра из одного модуля для 2 разных маршрутов? - PullRequest
1 голос
/ 19 марта 2019

В моем приложении epress есть 2 разных маршрута:

let readIndex= require('../services/getIndex');
let writeIndex= require('../services/getIndex');

indexRouter.route("/readindex").get(readIndex.getIndex)
indexRouter.route("/writeindex").get(writeIndex.getIndex)

Дело в том, что я унифицировал логику для обоих маршрутов в одном и том же модуле, поэтому я должен проверить параметр req.originalUrl, от которого поступает запрос, и я немного разделил свой код внутри этого файла в зависимости от того, с какого запроса пришел маршрут.

Но проблема в том, что оба экземпляра, которые я импортировал из одного и того же модуля (readIndex и writeIndex), ведут себя как один и тот же экземпляр. Например, если я выполняю кэширование внутри модуля, я ожидал, что оба экземпляра создадут свой собственный экземпляр (функции) кэширования из модуля, но, очевидно, они оба используют одни и те же переменные для кэша и так далее. Поэтому, если я вызываю один маршрут, затем следующий, кеш работает так, как будто второй вызванный маршрут уже выполнен (после того, как я вызвал первый маршрут).

Что я делаю не так? Разве нельзя вызвать / создать два разных экземпляра из одного и того же модуля и использовать их отдельно?

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