takeUntil
Emits the values emitted by the source Observable until a notifier
Observable emits a value.
Lets values pass until a second Observable,
notifier
, emits a value. Then, it completes.
takeUntil
subscribes and begins mirroring the source Observable. It also
monitors a second Observable, notifier
that you provide. If the notifier
emits a value, the output Observable stops mirroring the source Observable
and completes. If the notifier
doesn't emit any value and completes
then takeUntil
will pass all values.
Example
Tick every second until the first click happens
import { interval, fromEvent, takeUntil } from 'rxjs';
const source = interval(1000);
const clicks = fromEvent(document, 'click');
const result = source.pipe(takeUntil(clicks));
result.subscribe(x => console.log(x));
§
§Parameters
§
notifier: ObservableInput<any>
[src]The Observable whose first emitted value will
cause the output Observable of takeUntil
to stop emitting values from the
source Observable.