使用retrofit和rxjava重复进行API调用

2023-12-12

我有一个可观察到的改造:

@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.intervalObservable.repeat操作员。

Observable.interval(60, TimeUnit.SECONDS)
    .flatMap(n -> getSomething())
    .repeat()
    .subscribe();

对 lambda 感到抱歉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用retrofit和rxjava重复进行API调用 的相关文章

随机推荐