2

我有一个使用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));

编辑。

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

4

0 回答 0