我想每 x 秒使用改造调用一次 Web 服务,直到引发 y 条件。
我想跑OrderApi.get
x 秒后直到响应为空。
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)