takeUntil
Emite los valores emitidos por el Observable fuente hasta que un segundo Observable emita un valor
Last updated
import { takeUntil } from "rxjs/operators";
import { interval, fromEvent } from "rxjs";
const number$ = interval(1000);
const key$ = fromEvent(document, "keydown");
number$.pipe(takeUntil(key$)).subscribe(console.log);
// Salida: O, 1, 2, 3, 4 (Pulsar tecla)import { interval, timer } from "rxjs";
import { tap } from "rxjs/operators";
const number$ = interval(1000);
const number$Subscription = number$.subscribe(console.log);
number$Subscription.unsubscribe();import { takeUntil, tap } from "rxjs/operators";
import { interval, timer, Subject } from "rxjs";
const stop$ = new Subject<void>();
function stop() {
stop$.next();
stop$.complete();
}
// Al cabo de 5s, se llamará a la función stop
timer(5000).pipe(tap(_ => stop())).subscribe();
// Will emit numbers until we call the stop function
interval(1000)
.pipe(takeUntil(stop$))
.subscribe(console.log);
// Salida: 0, 1, 2, 3, 4 (llamada a stop())import { fromEvent, interval } from "rxjs";
import { takeUntil } from "rxjs/operators";
const source = interval(1000);
const clicks = fromEvent(document, "click");
const result = source.pipe(takeUntil(clicks));
result.subscribe((x) => console.log(x));