对于这种效果,
@Effect()
triggerOtherAction$: Observable<Action> = this.actions$
.ofType(SOME_ACTION)
.do(() => console.log("This line works for both"))
.map(() => new OtherAction())
当我发出动作时,我可以想到这两种方式
第一,
Observable.of(new SomeAction()).subscribe(this.store);
第二
this.store.dispatch(new SomeAction());
上面两行有什么区别?对于第一个,它不会触发其他操作,但执行do()行并且reducer运行良好。
答案 0 :(得分:2)
没有理由使用以下代码调度操作:
Observable.of(new SomeAction()).subscribe(this.store);
事实上,有充分的理由不这样做:store
订阅的观察结果将完成,store
也会完整。
在@ngrx/store
的2.2.1版本中,这不是问题 - 因为complete
的实现没有做任何事情 - 但是使用当前的主人complete
is implemented并发送一个如上所述的操作将看到商店已完成,并且不会发送进一步的操作。