1

次のように定義された効果があります。

@Effect()
  loadAll$: Observable<Action> = this.actions$
    .ofType(actions.ActionTypes.LOAD_ALL)
    .map(action => action.payload)
    .switchMap((options) => {
      return this.service.loadAll(options)
        .map(all=> new actions.LoadAllCompleteAction(all))
        .catch(() => Observable.of(new actions.LoadAllFailureAction(null)));
    });

リッスンするリデューサーがありLoadAllFailureAction、ストア内のいくつかのフラグを変更します。

ここで、そのアクションを処理する際に、TypeError を生成するその null (LoadAllFailuerAction で送信される) のオブジェクト破壊を行う場合、そのエラーは GlobalErrorHandler (キャッチされない例外をキャッチする) によってキャッチされません。また、エフェクトの実行が停止します。

一方、まったく同じエフェクト/リデューサーのセットアップではthrow Error()、リデューサーで手動で行うと、引っかかります。

今、それは私にとって完全な謎です。

何かご意見は?

4

0 に答える 0