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

Ребят, вопрос Есть сервис, в котором есть одна фича, чтобы subscribe

в нем не заводить с флагами (тк сабскрайб в сервисе же плохо, как ранее тут говорили), но завести надо

придумал стрим, на который если подпишусь — оно заведется

норм затея, я просто плоховато понимаю как надо делать, это ок способ?

по итогу в компоненте просто включаться будет фича (с отпиской, конечно же):
service.enableFooFeature$.subscribe()

ок?

22 ответов

19 просмотров

а почему у вас стейт в конфиге о.о

А тебе точно нужны динамические флаги? Проще сделать флаги статичными, значение флага получить до инициализации приложения и прокинуть через DI-токен. Обычно флаги не меняются на лету, если очень нужно, можно просто страницу перезагрузить

Почему сабскрайб в сервисе это плохо ? По-моему норм

Roman Zigzag
Почему сабскрайб в сервисе это плохо ? По-моему но...

многие сервисы продайдят в рут или модуль, при таком условии он не уничтожается и не вызывается хук ngOnDestroy, обычно отписку делают в этом хуке. Полагаю, что поэтому

Dmitry Likholetov
многие сервисы продайдят в рут или модуль, при так...

Так а зачем уничтожать если сервис ещё жив ? Если в глобальном сервисе нужно хранить состояние, то скорее всего оно будет часто надо

Dmitry Likholetov
многие сервисы продайдят в рут или модуль, при так...

Причем в модуль - это тоже в рут (за исключением lazy модулей)

Roman Zigzag
Так а зачем уничтожать если сервис ещё жив ? Если ...

ну а если вызываешь подписку из компонента, который потом уничтожается?

Mukhamed
Лишь с разницей с тришейкинг

Т. е если у тебя компонент в каком-то модуле, и ты делаешь 2 инстанса компоненты в другом компоненте, то у них будет один и тот-же инстанс сервиса ? Вроде нет же

Ilya Chursin
Причем в модуль - это тоже в рут (за исключением l...

Оказывается что нифига, lazy modul-и не уничтожаются автоматически https://github.com/angular/angular/issues/37095#issuecomment-854792361

Roman Zigzag
Оказывается что нифига, lazy modul-и не уничтожают...

в общем то логичное поведение, он же лейзи лоад, про уничтожение тут ничего не говорится. Когда чанки дополнительные подгружаем, мы же не ожидаем что они выгрузятся и потом снова будут грузиться. А если хочется сервис создавать каждый раз, так это к провайдерам компонента

Sergei Vakhrushev
в общем то логичное поведение, он же лейзи лоад, п...

Но компоненты то уничтожаются ,а не остаются.

Sergei Vakhrushev
в общем то логичное поведение, он же лейзи лоад, п...

логично, что загруженный код должен оставаться, но почему оперативная память должна заниматься неиспользуемым в данный момент модулем

Roman Zigzag
Но компоненты то уничтожаются ,а не остаются.

потому что компоненты это вьюха, а модуль это дерево инжекторов и т.п. Может не правильно назвал, но надеюсь суть понятна

Sergei Vakhrushev
а код не в памяти?

это же просто скачанный js-ник, незнаю как с ним браузер работает

Максим-Федоров Автор вопроса
xxtux Shvets
а почему у вас стейт в конфиге о.о

да просто несколько переменных собрал в один объект, назвал криво

Максим-Федоров Автор вопроса
Maxim Afanasev
А тебе точно нужны динамические флаги? Проще сдела...

Про какие флаги? Включить или не включить — это не проблема Проблема в том, что для фичи нужна подписка… Ок ее так в компоненте включать ?

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
9
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта