【发布时间】:2020-01-20 22:51:10
【问题描述】:
我有一个正在监听一个动作的效果,这个效果是调用一次 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)
))
)
);
注意:无法更新后端。
【问题讨论】:
-
这个问题有什么更新吗?
标签: angular typescript redux rxjs ngrx