RxJs:订阅执行两次

时间:2017-04-07 09:48:14

标签: rxjs ngrx

我已创建此订阅:

this.store$.combineLatest(
      this.store$.select(fromRoot.getUserEntity),
      this.store$.select(fromRoot.getSelectedSourceIds),
      (store, user, selectedSourceIds) => ({user: user, selectedSourceIds: selectedSourceIds}) 
    )
    .filter((proj) => proj.user.id != null && proj.user.logged)
    .do((proj) => this.store$.dispatch({type: 'DELETE_CARDS', payload: {username: proj.user.username, tokens: proj.selectedSourceIds}}))
    .take(1)
    .subscribe();

两次执行(do代码)。

有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:0)

您可能是第一次获得一些未定义的值。尝试使用zip代替combineLatest