2014-07-06 12 views
6

Czy możliwe jest rozdzielenie pojedynczego obserwowalnego strumienia w wielu obserwowalnych obiektach?Podzielona obserwowalna sekwencja RxJS na wielu wyjściach

Mój przypadek użycia to formularz, który użytkownik może przesłać. Działanie przesyłania jest obsługiwane w sposób obserwowalny, a podczas tej akcji odbywa się odsłuchiwanie weryfikatora.

submitAction.forEach(validate) 

Rzecz Chcę powiązać działania albo do success lub failure czeku weryfikatorów.

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

Nie jestem pewien, jak podobne przypadki są traktowane w programowaniu biernej - może się okazać, że podział obserwowalny nie jest właściwym rozwiązaniem do obsługi tego rodzaju kwestii.

W jaki sposób poradzisz sobie z podobnym przypadkiem?

Odpowiedz

9

Czy można po prostu użyć map i filter, ewentualnie z share, aby uniknąć wielokrotnego wykonywania logiki sprawdzania poprawności?

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

Dzięki, to było dokładnie to, czego szukałem! – David

Powiązane problemy