访问RXJS运算符链中的先前参数

时间:2017-12-19 13:29:15

标签: angular rxjs rxjs5 ngrx ngrx-store

我正在使用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);
      })
    ))
  );

0 个答案:

没有答案