【发布时间】:2018-01-22 11:10:23
【问题描述】:
我有代码
Observable.combineLatest(leftObservable, rightObservable, Pair::new)
.switchMap(pair -> {
final Department department = pair.first;
final Person person = pair.second;
if(/*person has changed*/){
// do something
}
return repository.loadHourlyTable(department , person);
});
...
如何知道哪个 observable 被改变了?
【问题讨论】:
-
你为什么想知道这个?如果你想对单个 Observable 的变化做出反应,让 observable 变热并通过多种方式观察它。
combineLatest的工作是在所有来源都具有最新值时发出信号,并在每次发生任何变化时发出信号,提供最新值。 -
@akarnokd 所以没有办法知道哪个 observable 使用 combineLatest 发出了一个值?
-
将项目包装成元组,以某种方式识别源并在 combineLatest 中组合它们。