У меня есть эффект, который слушает действие, этот эффект вызывает API (получить 10 случайных фильмов) один раз, это нормальное поведение, но я хочу вызвать одну и ту же службу дважды.
loadMovies$ = createEffect(() => this.actions$.pipe(
ofType('[Movies Page] Load 20 Movies'),
mergeMap(() => this.moviesService.getTenRandomMovies()
.pipe(
map(movies => ({ type: '[Movies API] 10 Movies Loaded Success', payload: movies })),
catchError(() => EMPTY)
))
)
);
Я думал об этом решении, но выглядит странно.Дайте мне знать, если это единственная возможность.
dispatchTwiceGetAuthQuestions$ = createEffect(() =>
this.actions$.pipe(
ofType('[Movies Page] Load 20 Movies'),
tap(() => {
this.store.dispatch(new LoadTenRandomMovies());
}),
tap(() => {
this.store.dispatch(new LoadTenRandomMovies());
})
)
);
loadMovies$ = createEffect(() => this.actions$.pipe(
ofType('[Movies Page] Load 10 Movies'),
mergeMap(() => this.moviesService.getTenRandomMovies()
.pipe(
map(movies => ({ type: '[Movies API] 10 Movies Loaded Success', payload: movies })),
catchError(() => EMPTY)
))
)
);
Примечание: невозможно обновить бэкэнд.