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

Ребят, прочитал выше переписку задумался о том, что в том

числе нужно и отписываться от http запросов, что позволит при дестрое компонента реджектнуть запросы, ведь по-сути они уже не нужны.
В целом является ли это хорошей практикой? Я такого нигде не встречал.

14 ответов

20 просмотров

Да, от http запросов тоже нужно отписываться

DK🇺🇦- Автор вопроса
Dmitriy Urvanov
Да, от http запросов тоже нужно отписываться

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

ngrx вобще мешает использовать одну из важнейших фич rxjs - ленивость, единственный вариант - ставить между компонентом и ngrx фасад, который при подписке будет диспатчить load экшен, а при отписке - cancel

DK🇺🇦- Автор вопроса
Maxim Afanasev
ngrx вобще мешает использовать одну из важнейших ф...

Вот у меня именно между сторой и компонентом фасад. Но этот фасад выполняет роль диспатчера экшенов и селекторов. Но я в фасаде просто диспатчу экшен, от которого уже тригерится эффект. Не совсем понятно как мне в таком случае прикрутить cancel action. Но спасибо за задумку, попробую нагуглить.)

Evgheni Чернявский
"ngrx вобще мешает"достаточно

Не уверен, что адепты ngrx ценят лаконичность так же высоко )

DK🇺🇦
Вот у меня именно между сторой и компонентом фасад...

Это одна из проблем, которую я бросил решать и отказался от ngrx вообще. Т.к. с одним запросом еще можно представить как это сделать, а параметризованными запросами становится совсем тоскливо..

DK🇺🇦- Автор вопроса
Maxim Afanasev
Это одна из проблем, которую я бросил решать и отк...

Понял, спасибо. Не рационально это вообщем будет. Оставлю как есть.

Maxim Afanasev
ngrx вобще мешает использовать одну из важнейших ф...

можете пояснить что вы имеете в виду под ленивостью в данном контексте?

Anatoliy Kernokus
можете пояснить что вы имеете в виду под ленивость...

Скорее всего то, что все потоки создаются на старте приложения и тяжело это синхронизировать с жц компонентов. Типа на ините и дестрое экшены диспатчить часто приходится

Anatoliy Kernokus
можете пояснить что вы имеете в виду под ленивость...

Я имею в виду, что подход, при котором потребитель (компонент) декларирует потребность в некоторых данных, вместо того, чтобы императивно запрашивать их, более гибкий

Maxim Afanasev
Я имею в виду, что подход, при котором потребитель...

А диспатч это не есть "декларирование потребности в данных"? Может я просто формулировку не понимаю)

Anatoliy Kernokus
А диспатч это не есть "декларирование потребности ...

Нет, диспатч - это команда "загрузи данные". Но это не зона ответственности компонента, надо загружать или не надо - это уже логика приложения. Идеоматический подход rxjs - подпишись когда данные нужны, отпишись когда не нужны - позволяет абстрагировать UI от логики и под капотом реализовать всё что нужно - загрузку, синхронизацию, кеширование, инвалидацию кеша, optimistic update и прочее

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта