Ngrx effects ngrx效果内部的错误处理

Ngrx effects ngrx效果内部的错误处理,ngrx-effects,rxjs6,Ngrx Effects,Rxjs6,我知道网络上到处都有关于效果错误处理的例子,但在我的例子中,我并没有调用一个http服务,它返回一个可观察的结果,就像我找到的99%的例子一样,因此我对构造这些操作符以获得所需的效果感到困惑 我需要将catchError()移动到switchMap()中 我最终用地图代替了开关地图 map( ( [ routerState, state ] ) => { const tenantKey = routerState.params[ 'tenantKey' ]; if ( state

我知道网络上到处都有关于效果错误处理的例子,但在我的例子中,我并没有调用一个http服务,它返回一个可观察的结果,就像我找到的99%的例子一样,因此我对构造这些操作符以获得所需的效果感到困惑

我需要将catchError()移动到switchMap()中


我最终用地图代替了开关地图

map( ( [ routerState, state ] ) => {
  const tenantKey = routerState.params[ 'tenantKey' ];
  if ( state ) {
    if ( state && state.id === tenantKey ) {
      return {
        type: '[TenantClubContext] Tenant Context Check Valid',
        payload: state
      };
    } else {
      return new LoadContextAction( tenantKey );
    }
  } else {
    return new LoadContextAction( tenantKey );
  }
} ),
catchError( err => {
  return of( { type: '[TenantClubContext] Error', payload: err } );
} )
map( ( [ routerState, state ] ) => {
  const tenantKey = routerState.params[ 'tenantKey' ];
  if ( state ) {
    if ( state && state.id === tenantKey ) {
      return {
        type: '[TenantClubContext] Tenant Context Check Valid',
        payload: state
      };
    } else {
      return new LoadContextAction( tenantKey );
    }
  } else {
    return new LoadContextAction( tenantKey );
  }
} ),
catchError( err => {
  return of( { type: '[TenantClubContext] Error', payload: err } );
} )