反复使用改造和rxjava进行API调用 [英] Repeatedly make API call with retrofit and rxjava

查看:70
本文介绍了反复使用改造和rxjava进行API调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a retrofit observable:

@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秒拨打一次此电话,以便可以相应地更新数据库?

how can i make this call every 60 seconds so that i can update database accordingly?

推荐答案

首先,如果可以避免,请不要这样做.最好推送更改(例如GCM),而不要拖拉以节省电池和数据.

First please don't do it if you can avoid it. It's preferable to push the changes (GCM for example) instead of pulling to save battery and data.

为此,您可以结合使用 Observable.interval Observable.repeat 运算符.

To do this you can use a combination of Observable.interval and the Observable.repeat operator.

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

对不起,lambda.

Sorry about the lambdas.

这篇关于反复使用改造和rxjava进行API调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆