2014-07-06 12 views
6

관측 가능한 단일 플럭스를 다른 여러 관측 구역에서 분할 할 수 있습니까?다중 출력에서 ​​RxJS 분할 관찰 가능 시퀀스

사용 사례는 사용자가 제출할 수있는 양식입니다. 제출 동작은 관찰 가능 객체에서 처리되며,이 동작에서는 수신자가 검사합니다.

submitAction.forEach(validate) 

것은 내가 success 또는 유효성 검사의 failure 하나에 작업을 바인딩 할 수 있습니다.

validationFailure.forEach(outputErrors) 
validationSuccess.forEach(goToPage) 

나는 반응 프로그래밍을 처리하는 방법과 유사한 경우 확실하지 않다 - 그것은 관찰을 분할하는 것은 문제의이 종류를 처리하기위한 최적의 솔루션 그냥 아니라고 할 수있다.

어쨌든 비슷한 경우를 어떻게 처리합니까?

답변

9

유효성 검사 로직을 반복적으로 실행하지 않으려면 mapfilter을 사용하고 share을 사용할 수 있습니까?

var submitAction = // some Rx.Observable 
var validationResult = submitAction.map(validate).share(); 
var success = validationResult.filter(function (r) { return !!r; }); 
var failure = validationResult.filter(function (r) { return !r; }); 

success.subscribe(goToPage); 
failure.subscribe(outputErrors); 
+0

고마워요, 이것이 제가 찾고 있었던 것이 었습니다! – David

관련 문제