我有一个可观察的改造:
@GET("something/")
Observable<Something> getSomething();
订阅它会给出响应。
getSomething().subscribe(new Subscriber<Something>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Something something) {
//update database of something
}
});
我怎样才能每 60 秒进行一次此调用,以便我可以相应地更新数据库?
最佳答案
首先,如果可以避免,请不要这样做。最好推送更改(例如 GCM)而不是拉取以节省电池和数据。
为此,您可以结合使用 Observable.interval
和 Observable.repeat
运算符。
Observable.interval(60, TimeUnit.SECONDS)
.flatMap(n -> getSomething())
.repeat()
.subscribe();
抱歉关于 lambda 的问题。
关于java - 使用 retrofit 和 rxjava 重复调用 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309910/