Angular/RxJs When should I unsubscribe from `Subscription`

Когда я должен хранитьSubscription экземпляры и вызыватьunsubscribe() во время жизненного цикла NgOnDestroy и когда я могу просто игнорировать их?

Сохранение всех подписок вносит много ошибок в код компонента.

HTTP Client Guide игнорировать подписки, как это:

getHeroes() {
  this.heroService.getHeroes()
                   .subscribe(
                     heroes => this.heroes = heroes,
                     error =>  this.errorMessage = <any>error);
}

В то же времяМаршрут и руководство по навигации Говорит, что:

В конце концов мы перейдем куда-нибудь еще. Маршрутизатор удалит этот компонент из DOM и уничтожит его. Мы должны убраться за собой, прежде чем это произойдет. В частности, мы должны отписаться, прежде чем Angular уничтожит компонент. Невыполнение этого требования может привести к утечке памяти.

Отписываемся от нашихObservable вngOnDestroy метод.

private sub: any;

ngOnInit() {
  this.sub = this.route.params.subscribe(params => {
     let id = +params['id']; // (+) converts string 'id' to a number
     this.service.getHero(id).then(hero => this.hero = hero);
   });
}

ngOnDestroy() {
  this.sub.unsubscribe();
}

Ответы на вопрос(15)

Ваш ответ на вопрос