rx java - How do I re-start my observer if onError is called for my subscription? -
i using:
publishsubject<pubnubobserverdata> = publishsubject.create()
i wondering how can restart subscription when
onerror(throwable e)
is called by?
currently subscription stops when there error.
you can use retry()
operator automatically re-subscribe immediately. alternatively, can use retrywhen()
operator resubscribe after delay or conditionally.
observable .retrywhen( error -> error.flatmap( e -> observable.timer(1, seconds))
will retry subscription after 1 second. using flatmap()
test kind of error , retry on particular error.
observable .retrywhen( error -> error.flatmap( e -> { if (e instanceof ioexception) {return observable.timer(1, seconds);} return observable.just( e ); } )
will retry if error ioexception
, not other type of error.
Comments
Post a Comment