我有一个简单的效果,它调用API来获取数据,在获取数据后,我会调度一个操作来将数据保存到存储中。我想根据操作请求执行另一个操作或操作。这可能吗?
loadMoviesById$ = createEffect(() => this.actions$.pipe(
ofType('[Movies Page] Load Movies'),
mergeMap((action) => this.moviesService.getAll(action.id)
.pipe(
map(movies => ({ type: '[Movies API] Movies Loaded Success', payload: movies })),
catchError(() => EMPTY)
)),
tap((action) => {
console.log(action.id) //How can I get action.id without passing with loaded success
})
)
);
我希望通过这次行动。id到作为电影的请求参数的抽头参数
由于它不在已知操作id的范围内,因此无法访问它。作为修复,您有两个选项:
- 在
mergeMap
范围内移动tap
方法 - 将
id
添加到Movies Loaded Success
操作