Вы всегда можете предотвратить утечку памяти с помощью шаблона takeUntil + ngOnDestroy.
Например,
объявить новую переменную private onDestroy$: Subject<void> = new Subject<void>();
this.service.getAll({page: page})
.pipe(takeUntil(this.onDestroy$))
.subscribe(... do the necessary ...);
И позже, в хук жизненного цикла onDestroy (), вы можете реализовать следующее:
public ngOnDestroy(): void {
this.onDestroy$.next();
this.onDestroy$.complete()
}
Фактически мы объявили новую наблюдаемую; Затем, используя метод pipe с takeUntil, мы сообщаем компилятору, что мы хотим отказаться от подписки на наблюдаемый, когда какое-либо значение появляется в onDestroy $. Затем, используя метод pipe с takeUntil, мы сообщаем компилятору, что мы хотим отписаться от наблюдаемого, когда появляется какое-либо значение. в onDestroy $, тем самым предотвращая утечки памяти.