ngrx /效果错误未被全局处理程序捕获

时间:2017-07-20 15:25:43

标签: ngrx ngrx-effects

我们将效果定义为:

@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)));
    });

有一个reducer侦听LoadAllFailureAction并对商店中的某些标志进行了更改。

现在,如果在处理该操作时,我会对该null进行对象解析(在LoadAllFailuerAction中发送),这会生成TypeError,则GlobalErrorHandler(捕获未捕获的异常)不会捕获该错误。此外,效果停止运行。

另一方面,使用完全相同的效果/缩减器设置,如果我在reducer中手动执行throw Error(),它确实会被捕获。

现在这对我来说完全是个谜。

有什么想法吗?

0 个答案:

没有答案
相关问题