Ngrx / эффект выполняется после всех действий - PullRequest
0 голосов
/ 04 июня 2018

У меня есть эффект, который добавляет действия, повторяющие массив:

@Effect()
changeId$ = this.actions$.pipe(
  ofType(ActionTypes.ChangeId),
  withLatestFrom(this.store.select(fromReducers.getAliasesNames)),
  switchMap(([action, aliasesNames]: [ChangeId, string[]]) => {
    const actions: Action[] = [];
    aliasesNames.forEach((alias) => {
      actions.push(new AddField(alias));
    });
    return actions;
  })
);

Также у меня есть другой эффект, который прослушивает AddField действие:

 @Effect()
 update$ = this.actions$.pipe(
  ofType(ActionTypes.AddField),
  withLatestFrom(this.store.select(fromReducers.GetSomeData)),
  switchMap(([action, someData]: [AddField, string[]]) => {
     // make something depend on adding field
  })
 );

Проблема в том, что я ожидаюэто обновление $ effect будет вызываться после каждого AddField действия.Но вместо этого AddField вызывается трижды, а затем update$ также вызывается трижды.Я чувствую, что мои операторы не правы.Не могли бы вы дать в качестве совета, какой оператор я должен использовать для этой цели?

...