РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpScInr 9 of 201 menu
◀ ▶

Введение в область видимости в Nest

По умолчанию Nest создаёт один объект сервиса на всё приложение. Любой контроллер, которому нужен этот тип, получает ссылку на тот же экземпляр.

Иногда одного объекта на процесс мало. Данные запроса нельзя смешивать между клиентами, а тестовая заглушка должна жить только рядом с одним получателем. За это отвечает область видимости провайдера: правило, когда фреймворк создаёт новый объект, а когда переиспользует старый.

Область задают в параметрах пометки @Injectable у сервиса или в настройках @Controller. Список провайдеров в модуле не меняется: по-прежнему указывают класс, а Nest сам решает, сколько экземпляров держать в памяти.

Дальше разберём отдельный экземпляр на запрос, новый объект на каждое внедрение, явную стандартную область, настройку контроллера и долгоживущий провайдер. На сайте с записями это помогает не делить состояние между параллельными обращениями к API.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить