我正在使用Angular 5和RXJS 5.5.5以及ngrx / store为我的应用程序加载参考数据。我可以通过ngrx效果成功加载数据,该效果采用id为有效负载的动作map
,然后调用我的服务函数。我的问题是,在完成后我需要在服务调用中使用的id。我无法弄清楚如何在链中访问它。我试图使用mergeMap
,因为这对我来说是合乎逻辑的,但没有成功。
如何访问我在下面的代码中指明的id
?
@Effect()
loadReferences$ = this.actions$
.ofType(LOAD_REFERENCES)
.pipe(
map((action: LoadReferences) => action.payload),
switchMap((id) => this.service.loadReferences(id).pipe(
map((references) => {
// How can I access 'id' here?
return new LoadReferencesSuccessful(references);
}),
catchError((err, caught) => {
return LoadReferencesFailed(caught);
})
))
);