Coder Social home page Coder Social logo

Comments (2)

kaushikgopal avatar kaushikgopal commented on May 22, 2024

hmm.. so there are a couple of approaches I would suggest

  1. throttling your network requests by issuing them at spaced intervals which the stackoverflow answer suggests (either using interval or delay
  2. Another suggestion: what if you force all your multiple network requests to work on the same background thread? They would technically block each other right?

I haven't tried any of the approaches above, but i'll try to give it a shot in the weekend.

from rxjava-android-samples.

kaushikgopal avatar kaushikgopal commented on May 22, 2024

So i couldn't stop thinking about this and decided to try a bunch of things anyway. In the process of my experiementation and looking at possible solutions online, I came across another Stack Overflow post answer by James World who is far more knowledgeable than I. Check it out here. For the sake of people reading this, here's a summary of the possible solutions:

  1. Don't force the use of RxJava. Just send out the network calls serially one after the other, in a background thread and be done with your problem :P.
  2. If your observables are of the same type, and you REALLY want to use RxJava, concat is the way to go. It's almost exactly what you ask for.
  3. subscribing to them all on a single thread as i suggested but with the caveat that this isn't guaranteed to work (because it's quite common for subscribe methods to return before an operator has actually finished).
  4. fake flatmap - shoot out your next call onComplete of first call (but at this point, you really are coercing Rx to do something it's fundamentally built against doing).

I would honestly just go with approach 1 cause it's the simpler + clean approach. Just make sure you're on a background thread (in Android) when executing those calls.

I'm going to go ahead and close this issue, cause I think it provides multiple solutions to your question. Feel free to reopen it if you feel there's more to explore, but the use case-while completely valid-is not one best suited for RxJava (imho).

from rxjava-android-samples.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.