Is it possible to split a single observable flux in multiple other observables?
My use case is a form that a user can submit. The submit action is handled in an observable, and on this action, there's a validator listening.
submitAction.forEach(validate)
The thing is I want to bind actions to either the success
or the failure
of the validator check.
validationFailure.forEach(outputErrors)
validationSuccess.forEach(goToPage)
I'm not sure how similar cases are handled in reactive programming - it may be that splitting the observable is just not the right solution for handling this kind of issue.
Anyway, how would you handle a similar case?
Can you just use map
and filter
, possibly with share
to avoid repeatedly executing the validation logic?
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With