repeatwhen
is an operator used to re-subscribe to the source Observable when a second Observable (the notifier
) emits a value. Here's an example of how to use repeatwhen
:
index.tsx329 chars14 lines
In this example, the source Observable emits a value every second (using the interval
function), but we only want to take the first 5 values (using the take
operator). After that, the repeatwhen
operator resubscribes to the source Observable whenever notifier
emits a value (in this case, we're just passing through notifier
directly).
It's worth noting that repeatwhen
receives the notifier
Observable as a parameter and expects it to emit a value. If notifier
completes or errors out, the entire subscription completes or errors out and repeatwhen
has no effect.
Also, repeatwhen
does not work with Observables that complete synchronously (such as using of
to create an Observable with a finite amount of values) because it will resubscribe before the initial subscription has completed. In those scenarios, use repeat
instead.
gistlibby LogSnag