Подвержен ли оператор takeUntil другим операторам, и нужно ли использовать его дважды внутри switchMap ?
Например;
Предположим, у меня есть наблюдаемое, которое выдает значение, когда я больше не хочу подписываться, и мы будем называть это this._destroyed
.
Имеет ли значение, если перед takeUntil есть оператор delay ?
of("something").pipe(
delay(1000),
takeUntil(this._destroyed)
);
Отличается ли вышеуказанное от изменения порядка?
of("something").pipe(
takeUntil(this._destroyed),
delay(1000)
);
Что если я использую switchMap
, нужно ли мне дважды takeUntil
звонить?
of("something").pipe(
takeUntil(this._destroyed),
delay(1000),
switchMap(() => {
return of("other").pipe(
takeUntil(this._destroyed),
delay(1000)
);
}
);
Вышеописано ли функционально то же самое, что один раз вызвать takeUntil
?
of("something").pipe(
delay(1000),
switchMap(() => {
return of("other").pipe(delay(1000));
}),
takeUntil(this._destroyed)
);
Думаю, я не совсем понимаю, что происходит, когда takeUntil
запускается и останавливает текущую подписку. Как это влияет на то, когда он вызывается в порядке конвейера (если это вообще имеет место).