是否可以将单个可观察通量拆分为多个其他可观察量?
我的用例是一个用户可以提交的表单。提交操作在一个可观察对象中处理,并且在这个操作上,有一个验证器在监听。
submitAction.forEach(validate)
问题是我想将操作绑定(bind)到验证器检查的成功
或失败
。
validationFailure.forEach(outputErrors)
validationSuccess.forEach(goToPage)
我不确定在响应式编程中如何处理类似的情况 - 拆分可观察对象可能不是处理此类问题的正确解决方案。
无论如何,你会如何处理类似的情况?
最佳答案
是否可以只使用 map
和 filter
,可能还有 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);
关于javascript - RxJS 在多个输出中拆分可观察序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24593632/