как отписаться от BehaviorSubject Angular 8 - PullRequest
0 голосов
/ 19 марта 2020

Я хочу убедиться, что все используемые ресурсы правильно расположены и избежать утечек памяти angular 8 app

1 Ответ

1 голос
/ 19 марта 2020

Обновление

Найден источник: https://medium.com/angular-in-depth/the-best-way-to-unsubscribe-rxjs-observable-in-the-angular-applications-d8f9aa42f6a0

Первоначальный ответ

A шаблон, который я видел и использовал много раз:

import { Component, OnInit, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';

@Component({})
class Component implements OnInit, OnDestroy {

private unsubscribe$ = new Subject<void>();

    ngOnInit(): void {
       yourObservable.pipe(takeUntil(unsubscribe$)).subscribe();
    }

    ngOnDestroy(): void {
        this.unsubscribe$.next();
        this.unsubscribe$.complete();
    }

}
...