Skip to main content

Що робить takeUntil()?

takeUntil() - це оператор RxJS, який автоматично завершує підписку, коли спрацьовує інший потік.


Простими словами:

Ти кажеш: «Слухай цей потік доти, доки не станеться ось ця інша подія».


Приклад:

ts
private destroy$ = new Subject<void>(); this.myStream$ .pipe(takeUntil(this.destroy$)) .subscribe(value => { console.log(value); }); // Коли компонент знищується: this.destroy$.next(); // зупиняє підписку this.destroy$.complete();

Це зручно в Angular, щоб автоматично відписуватися в ngOnDestroy().


Без takeUntil():

Ти б зберігав підписку і вручну викликав unsubscribe().

З takeUntil() все робиться через потік: реактивно і безпечно.


Де використовують:

  • У компонентах Angular
  • При роботі з interval(), valueChanges, router.events та іншими нескінченними потоками

Висновок:

takeUntil() = спосіб сказати: «Підписка повинна жити, доки не прийде сигнал про зупинку».

Жодних витоків, все під контролем.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.