0

When I request api, the Server will send a response after 10 seconds.
And after the client got the response, I had to request back the API immediately.
Like this.

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

I intended to request API immediately (recursively. maybe this caused the problem.) when I got 200 responses from the server.
With this code, the problem is, there is extremely many overlapped API request.
How can I make this sequentially, without overlapping requests? with RxKotlin or RxJava.

0 Answers0