如何根据数据的返回类型分支ngrx效果链?

时间:2017-05-14 04:01:10

标签: ngrx ngrx-effects

  @Effect()
  results$ = this.actions$
    .ofType(SearchActions.Action_X)
    .map(Operation_OP)
    .do(conole.log);//<=payload of type X
    .map(....)

  @Effect()
  results$ = this.actions$
    .ofType(SearchActions.Action_X)
    .map(Operation_OP)
    .do(conole.log);//<=payload of type Y
    .map(....)

我需要有条件地执行不同的操作,基于某些操作的返回值,但我需要将结果存储在相同的结果中$(上面的代码会因为结果$被声明错误两次,请建议正确的方法实现这一点)

This没有回答我的问题,因为它基于Action进行分支,我的情况是同样的动作Action_X来启动链,但是基于返回的twhat,后续步骤将需要不同

1 个答案:

答案 0 :(得分:0)

@Effect()
    results$ = this.actions$
    .ofType(SearchActions.Action_X)
    .map(action => {
        result = operation();
        if (result === 1) {
            return 1;
        } else {
            return 2;
        } 
    }
);