我正在使用 Angular2 和 ngrx/store 和 ngrx/effects 进行状态管理。
当某个操作失败时,我想显示一条错误消息,但似乎我无法在一个@Effects()
块中执行此任务。请参阅以下内容:
@Effect() selectOfficeFail$ = this.actions$
.ofType(SelectOfficeActions.LOAD_FAIL)
.do(() => {
alert('Error! No offices found!'); // I keep entering here
});
当上面的代码运行时,警报会无限次运行,直到浏览器崩溃。似乎@Effect()
必须返回一个新的dispatch()
,但我不明白为什么。为什么上面的 alert() 会运行无数次?
编辑:我没有SelectOfficeActions.LOAD_FAIL
多次派遣。只有一次