BACK
ReferencetakeUntil
Reference · 15

takeUntil

takeUntil

rxjs.dev

Поток живёт, пока notifier$ не эмитит первое значение.

Сигнатура

takeUntil(notifier: ObservableInput): MonoTypeOperatorFunction

Маркеры

in:        --1--2--3--4--|
notifier:  --------n----
result:    --1--2--|

Что делает

Подписывается параллельно на notifier$. При первом next от него — шлёт complete основному потоку и отписывается от обоих. Если notifier$ завершается без эмита — основной поток продолжает жить.

Когда использовать

Стандартный способ отписки в Angular: destroy$ = new Subject() в компоненте, destroy$.next() в ngOnDestroy. Также: отмена запроса при навигации, таймауты с независимым триггером.

Подводный камень

takeUntil должен стоять последним в pipe — иначе операторы после него (например, shareReplay) могут удержать подписку.

См. также

take, takeWhile, finalize

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...