我想每 x 秒调用一次使用改造的 Web 服务,直到出现 y 条件。
我想在 x 秒后运行 OrderApi.get
,直到响应为空。
public class OrderApi {}
public static Observable<Order> get() {
//...
}
}
OrderApi.get(order.getId()))
.subscribe(updatedOrder -> {
mShouldRun = updatedOrder != null;
});
已经看到像 Observable.delay
Observable.timber
这样的运算符,但我找不到正确使用它们的方法。
最佳答案
这应该可行
Observable.interval(1, TimeUnit.SECONDS)
.flatMap(new Func1<Long, Observable<?>>() {
@Override
public Observable<?> call(Long aLong) {
return OrderApi.get();
}
}).takeUntil(new Func1<Object, Boolean>() {
@Override
public Boolean call(Object o) {
return o==null;
}
}).subscribe(observer);
关于android - RXJava 如何在 x 时间后尝试获取下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33288546/