209 похожих чатов

Всем привет, есть тема для рассуждения. Представим, есть ЧатМодуль и ЮзерМодуль. У

ЧатМодуль есть ЧатГейтвей и ЧатСервис.

ЧатГейтвей и ЧатСервис прокидываются в провайдеры + ЧатСервис юзает ЧатГейтвей, что создаёт циклическую зависимость.

Теперь, если использовать ЧатСервис в ЮзерСервис, nestjs требует добавить ЧатГейтвей в провайдеры, что недопустимо, т.к. создастся второй экземпляр это класса, а в нём находится веб-сокет, соответственно, веб-сокет второй раз поднимется.

Для решения этого приходится юзать forwardRef в ЮзерСервисе и, соответственно, в других сервисах, где будет юзаться ЧатСервис (для доступа к тому же сокету).

В документации это описано "нежелательным" и чатгпт говорит, что это костыль.

Вопрос: как можно решить данную циклическую зависимость на уровне архитектуры приложения?

2 ответов

4 просмотра

Можешь код показать?

https://t.me/nest_ru/165448

Похожие вопросы

Обсуждают сегодня

Карта сайта