Dan*_*ico 5 android rx-java retrofit
我想每隔x秒使用一次改造来调用Web服务,直到y条件被提升.
我希望OrderApi.get在x秒后运行,直到响应为空.
public class OrderApi {}
public static Observable<Order> get() {
//...
}
}
OrderApi.get(order.getId()))
.subscribe(updatedOrder -> {
mShouldRun = updatedOrder != null;
});
Run Code Online (Sandbox Code Playgroud)
已经看过运营商,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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |