componentDestroyed(component: OnDestroy) {
const oldNgOnDestroy = component.ngOnDestroy;
const destroyed$ = new ReplaySubject<void>(1);
component.ngOnDestroy = () => {
oldNgOnDestroy.apply(component);
destroyed$.next(undefined);
destroyed$.complete();
};
return destroyed$;
}
export function takeUntilDestroyed<T>(component: OnDestroy): MonoTypeOperatorFunction<T> {
return takeUntil(componentDestroyed(component));
}
есть ощущение, что можно не создавать новые потоки destroyed$ каждый раз, а писать куда-нибудь в компонент
https://stackblitz.com/edit/angular-auto-unsubscribe-service
Обсуждают сегодня