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

Вопрос по RxJS. Где-то читал, что при получении реактивных данных

из сервиса не рекомендуется тянуть Observable, который продьюсит данные, напрямую, а использовать промежуточный BehaviorSubject и в компоненты отдавать уже данные через behaviorSubject.asObservable()
Во всех ли случаях это необходимо?

17 ответов

13 просмотров

не во всех, но такая практика часто встречается когда нужно манипуляции с данными на уровне сервиса проводить то есть в сервисе есть какая-то логика для этих данных, например нам пришел массив с сервера и мы хотим в него что-то добавить уже после получения данных

Stanislav
не во всех, но такая практика часто встречается ко...

А как в таком случае обойтись без subscribe?

Andrei
А как в таком случае обойтись без subscribe?

в каком месте? и почему именно обойтись

Stanislav
в каком месте? и почему именно обойтись

Ну как бытует мнение "subscribe это не кошерно"

Stanislav
в каком месте? и почему именно обойтись

В любом. Использовать только async.

Andrei
В любом. Использовать только async.

а что если мне данные внутри компонента нужны или внутри сервиса, а не внутри шаблона?)

Stanislav
а что если мне данные внутри компонента нужны или ...

Так все с пеной у рта доказывают что "что-то у вас не так с data flow")

Stanislav
а что если мне данные внутри компонента нужны или ...

если я в pipe закину take(1)/takeUntil/etc у меня не будет проблем с памятью

Stanislav
если я в pipe закину take(1)/takeUntil/etc у меня ...

Ну тоесть "можешь подписываться в любом месте". Верно я вас понимаю?

Andrei
Ну тоесть "можешь подписываться в любом месте". Ве...

если можно использовать async то лучше использовать его, но иногда нужен subscribe вне шаблона, и это нормально.

Andrei
И ДАЖЕ (omg) в сервисе?)

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

Stanislav
если можно использовать async то лучше использоват...

Закрепите это пожалуйста в шапке чата)

Andrei
И ДАЖЕ (omg) в сервисе?)

был случай когда сервис подписывался на dom событие (https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsText) и subscribe вызывался в нем же

Stanislav
был случай когда сервис подписывался на dom событи...

Это был сарказм с моей стороны. Я тоже подписываюсь там где удобно (если async не очень вписывается). Спасибо за ваш развернутый ответ.

Andrei
Это был сарказм с моей стороны. Я тоже подписываюс...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
22
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта