我使用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));
EDIT。
好的,我遇到了问题,最后一次必须是地图。