timeoutWith
Errors if Observable does not emit a value in given time span, in case of which subscribes to the second Observable.
Parameters
Returns
OperatorFunction<T, T | R>
: Observable that mirrors behaviour of source or, when timeout check fails, of an Observable
passed as a second parameter.
Description
It's a version of timeout
operator that let's you specify fallback Observable.
timeoutWith
is a variation of timeout
operator. It behaves exactly the same,
still accepting as a first argument either a number or a Date, which control - respectively -
when values of source Observable should be emitted or when it should complete.
The only difference is that it accepts a second, required parameter. This parameter
should be an Observable which will be subscribed when source Observable fails any timeout check.
So whenever regular timeout
would emit an error, timeoutWith
will instead start re-emitting
values from second Observable. Note that this fallback Observable is not checked for timeouts
itself, so it can emit values and complete at arbitrary points in time. From the moment of a second
subscription, Observable returned from timeoutWith
simply mirrors fallback stream. When that
stream completes, it completes as well.
Scheduler, which in case of timeout
is provided as as second argument, can be still provided
here - as a third, optional parameter. It still is used to schedule timeout checks and -
as a consequence - when second Observable will be subscribed, since subscription happens
immediately after failing check.
Example
Add fallback observable