java 轮询 开源_在RxJava中使用“skipWhile”和“repeatWhen”来实现服务器轮询

我真的很喜欢RxJava,它是一个很棒的工具,但有些时候很难理解它是如何工作的 . 我们在Android项目中使用Retrofit和RxJava,并且有以下用例:

我需要轮询服务器,重试之间有一些延迟,而服务器正在做一些工作 . 服务器完成后,我必须提供结果 . 所以我用RxJava成功完成了它,这里是代码片段:我用“skipWhile”和“repeatWhen”

Subscription checkJobSubscription = mDataManager.checkJob(prepareTweakJob)

.skipWhile(new Func1() {

@Override

public Boolean call(CheckJobResponse checkJobResponse) {

boolean shouldSkip = false;

if (SHOW_LOGS) Logger.v(TAG, "checkJob, skipWhile, jobStatus " + checkJobResponse.getJobStatus());

switch (checkJobResponse.getJobStatus()){

case CheckJobResponse.PROCESSING:

shouldSkip = true;

break;

case CheckJobResponse.DONE:

case CheckJobResponse.ERROR:

shouldSkip = false;

break;

}

if (SHOW_LOGS) Logger.v(TAG

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值