Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android retofit rxjava如何用repeatwhen处理动态请求参数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用retrofit rx java来处理基本的http get请求.请求将每5秒重复一次. repeatWhen完全符合要求,并且在请求参数永不改变的情况下运行良好.

在我的测试用例中,参数每次请求时都会有所不同,下面的代码不起作用.

neTinterface
            .postrequest(requestData)
            .repeatWhen(new Func1<Observable<? extends Void>,Observable<?>>() {
                @Override
                public Observable<?> call(Observable<? extends Void> observablE) {

                    requestData.setFreeMemory(X);
                    return observable.just(reqeustData).delay(5,TimeUnit.SECONDS);
                }
            })
            .subscribeOn(schedulers.newThread())
            .observeOn(schedulers.newThread())
            .subscribe(this.requestSubscriber);

解决方法

您已经使用了似乎是最佳解决方案的东西,但继续使用此模式似乎并非惯用.看看这个,让我知道你的想法! Psuedo代码首先出现然后我将编写真正的Java.只是想在新鲜的时候把想法搞定!

Observable.combineLatest(getTextToGetObservable,Observable.interval(5,SECONDS)
            .subscribe(neTinterface::postrequest)
            .subscribeOn(schedulers.io())
            .observeOn(Androidschedulers.mainThread())
            .subscribe(this.requestSubscriber);

另请注意,您可能需要查看subscribeOn / observeOn逻辑.它现在可能不会引起任何问题,但它可能并不一定会出现惯用.

所以,然我的回答并没有完全回答你关于如何使用repeatWhen解决这个问题的问题,但我希望这个答案可以帮助你解决你提出请求的问题(GET或POST – 正如另一位@L_607_7@者指出的那样,你的问题同时使用了不用担心!这很容易做到.我只是想确保每个人都在阅读我的答案并不像我最初那样困惑.我将用一个快速的应用程序来测试这段代码,看看它是否有效.我如果确实如此,将正确格式化代码.

Here is a link to the Android project that should provide you with the mechanisms needed to get going.代码中存在一些小问题,因为它不是每5秒展示一次发射的完美示例,但这是一个希望降低示例复杂性而不是懒惰的问题.我也很累,但这不是我要在这里使用的借口.我还要上传这个视频,这样你就可以看到我在解决问题时所经历的整个过程.很想知道是否有更好的方法.基于我过去对RxJava和Reactive ProgrAMMing奇迹的经验,我当然不会让我感到惊讶.

我还将上传我在解决此问题时所经历的过程的记录,并在视频准备就绪时将其链接起来.

Here’s the video! Looking forward to knowing your thoughts and hearing your feedback.

随着时间的推移,我将在这个答案中@L_607_25@注释,并且我会虑更多的错误,但是对于其中一个,没有处理取消订阅这个过程.这将无限期地继续,直到清除它的过程.我将在稍后的完整示例中@L_607_25@适当的处理.

大佬总结

以上是大佬教程为你收集整理的Android retofit rxjava如何用repeatwhen处理动态请求参数全部内容,希望文章能够帮你解决Android retofit rxjava如何用repeatwhen处理动态请求参数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。