В моем приложении 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), ведут себя как один и тот же экземпляр. Например, если я выполняю кэширование внутри модуля, я ожидал, что оба экземпляра создадут свой собственный экземпляр (функции) кэширования из модуля, но, очевидно, они оба используют одни и те же переменные для кэша и так далее.
Поэтому, если я вызываю один маршрут, затем следующий, кеш работает так, как будто второй вызванный маршрут уже выполнен (после того, как я вызвал первый маршрут).
Что я делаю не так? Разве нельзя вызвать / создать два разных экземпляра из одного и того же модуля и использовать их отдельно?