Size: a a a

2020 November 24

G

George in Angular Kyiv
Сайдэффект может быть не в явном виде
источник

G

George in Angular Kyiv
стрим используется
источник

N

Nik in Angular Kyiv
Andrey Korovin
Если в пайпе и в сасбкрайбе нет сайд эффекта то этот стрим не используется
подписка есть? значит стрим используется
источник

N

Nik in Angular Kyiv
Andrey Korovin
Приведи пример полезного стрима без сайдэффекта - это невозможно
this.http.get(`${this.url}/logout`).pipe(take(1)).subscribe()
источник

AK

Andrey Korovin in Angular Kyiv
тут вообще не нужен стрим просто сделай запрос
источник

AK

Andrey Korovin in Angular Kyiv
хотя обычно нужно хотяб ошибки обработать
источник

M

Malikov in Angular Kyiv
Nik
this.http.get(`${this.url}/logout`).pipe(take(1)).subscribe()
наверняка ж ещё нужно куда-то навигацию сделать, показать сообщение на ui, очистить данные из стейта
источник

N

Nik in Angular Kyiv
Andrey Korovin
тут вообще не нужен стрим просто сделай запрос
через axios?
источник

N

Nik in Angular Kyiv
Malikov
наверняка ж ещё нужно куда-то навигацию сделать, показать сообщение на ui, очистить данные из стейта
иногда нужно просто оповестить сервер о разлогине
источник

AK

Andrey Korovin in Angular Kyiv
Nik
через axios?
Мы говорим про angular или вообще про rxjs/ФП? Если первое то так можно как ты написал, и даже нужно. Но если смотреть с позиции ФП то сам запрос будет уже сайдэффектом на какое то событие
источник

N

Nik in Angular Kyiv
Andrey Korovin
Мы говорим про angular или вообще про rxjs/ФП? Если первое то так можно как ты написал, и даже нужно. Но если смотреть с позиции ФП то сам запрос будет уже сайдэффектом на какое то событие
ну мы же в чатике Angular а не rxjs/ФП =)
источник

N

Nik in Angular Kyiv
что ж, такой вопрос: есть стрим, сначаала надо запустить сайдэффект (сохранить в локалсторадж), потом преобразовать данные обьединив с другим обсерваблом, потом выслать запрос на бэк (второй сайд эффект). как это засунуть в один сабскрайб?
источник

Sergey Фrolov in Angular Kyiv
хм, и вообще, что значит это – засунуть в subscription -> там же ты не будешь делать этот запрос )
источник

Sergey Фrolov in Angular Kyiv
если мы говорим про ФП, то там нужен отдельный контейнер, ака монада для этого и дальше уже с ней работать в стриме
источник

AK

Andrey Korovin in Angular Kyiv
Ну не совсем понятно что сохранять в локалстораж, а вообще правильно было бы определить источники ивентов на которые надо реагировать, потом обьединить эти источники в какие нибудь combineLatest ну и подписаться на результат которым может быть запрос или сохранение в локал стораж.

Ну и да в angular удобно делать запрос частью пайпа хотя это и не канонично )
источник

Sergey Фrolov in Angular Kyiv
хм. а локалсторадж тут причем?
источник

AK

Andrey Korovin in Angular Kyiv
Ну вопрос был про локалстораж )
источник

Sergey Фrolov in Angular Kyiv
А ну это IO – тоже сайдэффект
источник

N

Nik in Angular Kyiv
Sergey Фrolov
хм, и вообще, что значит это – засунуть в subscription -> там же ты не будешь делать этот запрос )
Это вопрос к утверждению что сайдэффекты могут быть только в подписке
источник

Sergey Фrolov in Angular Kyiv
Nik
Это вопрос к утверждению что сайдэффекты могут быть только в подписке
Я так не думаю. Они могут быть где угодно, но должны быть обернуты в монаду, если по fp. Я не вижу причин не использовать switchMap.
источник