有人尝试过使用 rxKotlin 在 android 中进行长轮询吗?请帮助我

问题描述 投票:0回答:0

当我请求api时,服务器将在10秒后发送响应。
当客户端收到响应后,我必须立即请求返回 api。
像这样。

    fun getSampleApi() {
            sampleApiService.requestApi(
                Params()
            ) // Observable
            .toFlowable()
            .delay(3, TimeUnit.SECONDS)
            .distinctUntilChanged()
            .subscribeOnIo()
            .observeOnIo()
            .subscribeBy(onNext = { streamResult ->
                getSampleApi() // recurse
            }, onError = {})
    }

当我从服务器收到 200 响应时,我打算立即请求 api(递归地。也许这导致了问题。)。
这段代码的问题是,有非常多的重叠 api 请求。
我怎样才能按顺序进行此操作,而不会出现重叠的请求?使用 RxKotlin 或 RxJava。

android kotlin retrofit rx-java rx-kotlin
© www.soinside.com 2019 - 2024. All rights reserved.