我有一个使用ngrx的角度应用程序,我想每x秒发送一个动作,所以我这样做了:
ngOnInit() {
this.subscription = Observable.interval(1000)
.do(() => this.store.dispatch(new LoadDataAction()))
.subscribe();
}
所以这应该每秒发送一个动作。我正在使用 ngrx/effects 来拦截此操作并调用服务,但它只在第一次工作。好像我的订阅在第一次通话后就完成了。
如果我将操作调用替换为服务调用,则一切正常。我究竟做错了什么?
这是我的@Effects
@Effect()
data$: Observable<Action> = this.actions$
.ofType(LOAD_DATA_ACTION)
.do(() => console.log('LoadDataEffectService'))
.switchMap(() => this.service.getData())
.do(data => new DataLoadedAction(data));
编辑。
好的,我得到了问题,最后一个必须是地图。