Comments (2)
hmm.. so there are a couple of approaches I would suggest
- throttling your network requests by issuing them at spaced intervals which the stackoverflow answer suggests (either using
interval
ordelay
- 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.
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:
- 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.
- 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. - 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).
- fake
flatmap
- shoot out your next callonComplete
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)
- Observables Context?? HOT 1
- Rxjava 2 with Android new architecture components HOT 2
- Exceeds Dex Limit of 64k in its current state. HOT 1
- [Question] Help Needed HOT 1
- gc overhead limit exceeded?
- Mocking framework
- memory leak
- Wrapping an Android Method that requires return value
- Code of Examples
- After value change -> execute once HOT 5
- What does RotationPersist1WorkerFragment and RotationPersist2WorkerFragment do? HOT 1
- networkObserver get Exception so the final result is onError in your example when network fail even if localObeserver has data HOT 3
- Port to RxJava 2.0 HOT 12
- RxJava2: Create an examples handing backpressure HOT 2
- takeUntil optimized cache and network method and Gson parse model HOT 2
- RxJava 1 branch HOT 1
- Have you stopped maintaining this project? HOT 2
- GUI elements must not be accessed from non-main threads HOT 1
- You are using a private api (as of support library v25 and up) HOT 1
- Retrolambda is too difficult for beginners HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rxjava-android-samples.