ngrx不在Observable.interval中调度操作

时间:2017-07-28 16:56:50

标签: angular rxjs ngrx ngrx-effects

我使用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。

好的,我遇到了问题,最后一次必须是地图。

0 个答案:

没有答案