2017-05-14 8 views
0
@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(....) 

일부 operaton의 반환 값을 기반으로 differnent 작업을 수행하려면 조건부 분기가 필요하지만 동일한 결과 $에 결과를 저장해야합니다. (위의 코드는 결과 $가 두 번 선언 될 때 오류가 발생하므로 제안하십시오)데이터의 반환 형식을 기반으로 ngrx 효과 체인을 분기하는 방법은 무엇입니까?

그 지점 체인 절차를 시작할하는 액션, 내 경우에 그 같은 행동 Action_X을 기반으로하지만, 연속적인 단계를 twhat에 따라 다를 수해야하므로 This 내 질문에 대답하지 않습니다 반환

이것을 달성하기 위해 올바른 방법

답변

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