Angular / NgRx - условный выбор и отправка - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть относительно простой случай, когда я хочу выбрать и отправить только один из 2 вариантов выбора / отправки в соответствии с условием.

безусловный код:

this.store.pipe(
      select(fromChallengesSelectors.getSelectedMyChallenge),
      tap((challenge: Challenge) => {
        if (!challenge) {
          this.store.dispatch(new fromChallengesActions.SelectMyChallengeAction(this.challengeId));
        }
      }),
      filter((challenge: Challenge) => !!challenge),
// .....
);

Теперь я хочу сделать либо select(fromChallengesSelectors.getSelectedMyChallenge) + this.store.dispatch(new fromChallengesActions.SelectMyChallengeAction (this.challengeId))

или

select(fromChallengesSelectors.getSelectedNetworkChallenge) + this.store.dispatch(new fromChallengesActions .SelectNetworkChallengeAction (this.challengeId))

в соответствии со значением this.route.data.profil, остальная часть кода останется прежней

есть способ сделать это, например, с помощью оператора iff?

...