Я back-end разработчик, начинающий с front-end разработки проекта, над которым я работаю. Интерфейс использует Angular7 и NgRx. Я много изучал за последние 4 дня, но вот кое-что, в чем я застрял, и был бы признателен за вашу помощь.
Я узнал, что мы можем отправлять несколько действий из эффекта в NgRx, возвращая массив Observable, имеющий несколько действий. Я хочу отправить одно из действий в массиве на основе условия.
Мой код выглядит примерно так
@Effect()
something$: Observable<Action> = this.actions$.pipe(
ofType(ActionType),
switchMap.(action: any) => {
return service.call(action.payload)
.pipe(
switchMap((data: ReturnType) => [
new Action1(),
new Action2(),
]),
catchError(error handling)
);
}),
);
и я хочу добиться чего-то вроде этого
@Effect()
something$: Observable<Action> = this.actions$.pipe(
ofType(ActionType),
switchMap.(action: any) => {
return service.call(action.payload)
.pipe(
switchMap((data: ReturnType) => [
if(condition)
new Action1()
else
new Action1.1() ,
new Action2(),
]),
catchError(error handling)
);
}),
);
Я думаю, что мое незнание RxJs мешает мне реализовать условие.
[condition ? new Action() : new AnotherAction(), new Action2()]
. Однако будьте осторожны, отправка нескольких действий не всегда может быть лучшим решением: stackoverflow.com/questions/42488283/ - person Andrei Gătej   schedule 25.11.2019