【发布时间】:2016-04-08 12:23:41
【问题描述】:
我想在特定时间延迟后检查用户的状态。
我有两个Observables:
-
Timer Observable:在特定延迟后发出事件。
Observable timer = Observable.timer((endTime - startTime), TimeUnit.SECONDS);
-
Observable获取用户当前状态。可观察状态 = getCurrentStatusObservable(id);
我必须按顺序组合这些可观察对象,然后结果应该发出。 为了实现这一点,我使用了 zip 运算符和以下方法。
return Observable.zip(timer, status, new Func2<Long, CurrentStatus, CurrentStatus>() {
@Override
public Program call(Long aLong, CurrentStatus status) {
return program;
}
});
但问题是 status observable 在 timer 打击之前被执行。因此zip 运算符返回的是旧的status。但我希望status Observable 在timer 打击后执行。
如果我使用了错误的运算符,请告诉我。我检查了concat 运算符,但它需要相同类型的Observable。
【问题讨论】:
标签: functional-programming rx-java reactive-programming rx-android