我从行为主体生成的状态服务上有几个可观察到的东西:
_state.sortModels$.subscribe(sortModels => {
//do stuf
});
_state.filterModel$.subscribe(filterModel => {
//do stuff
});
我希望有一些可观察到的更新时执行的代码。因此,例如,如果sortModels
更新,它将触发订阅并使用filterModel
的先前版本,反之亦然。
类似的东西:
.subscribe((filterModel, sortModels) => {
someMethod(filterModel, sortModels);
});
对于这个用例,我发现RXJS文档很难解释,因为在所有示例中,它都是计时器输出一个数字,而不是不同的对象。
在我的容器组件中,我如何合并两个可观察对象,以便如果其中一个更新可以同时触发两个值?
答案 0 :(得分:1)
combineLatest
正是您所需要的 :
组合多个Observable创建一个Observable,其值是根据其每个输入Observable的最新值计算的。
combineLatest(_state.sortModels$,_state.filterModel$)
.subscribe(([sortModels,filterModel])=>{
someMethod(filterModel, sortModels);
})