Reputation: 71
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();
Upvotes: 6
Views: 4845
Reputation: 3093
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.
Upvotes: 8