takeUntil
function stable operator
Имеет значения, испускаемые исходным Observable, до тех пор, пока Observable с notifier не испустит значение.
takeUntil<T>(notifier: ObservableInput<any>): MonoTypeOperatorFunction<T>
Параметры
notifier | ObservableInput<any> | Observable, первое испущенное значение которого заставит выходное Observable |
Возвращает
MonoTypeOperatorFunction<T>: Функция, возвращающая Observable, которое испускает значения из исходного Observable, до тех пор, пока notifier не испустит своё первое значение.
Описание
Пропускает значения, пока второе Observable, notifier, не испустит значение. Затем завершается.
takeUntil подписывается и начинает дублировать исходное Observable. Он также отслеживает второе Observable, notifier, которое вы предоставляете. Если notifier испускает значение, выходное Observable прекращает дублирование исходного Observable и завершается. Если notifier не испускает ни одного значения и завершается, то takeUntil передаст все значения.
Пример
Отсчёт каждую секунду до первого нажатия
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)); См. также
© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/takeUntil