I have an Observable that emits events in the form of JSON strings. I want to subscribe to it blocking and get the first string. Not a problem.
But I would like to also have a timeout and emit a canned JSON string when the timeout fires.
Here is my existing code:
String jsonString = rxEvents.subscribe().toBlocking().first();
Just use version of timeout
that takes 3 parameters:
rxEvents
.timeout(1, TimeUnit.SECONDS, Observable.just("fallback"))
.toBlocking()
.first()
Note that in your sample code subscribe
is not needed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With