Я пытаюсь понять подписки в угловых и после некоторого чтения я выбрал следующий подход.
Я использую .pipe (takeUntil ()) для отмены подписки.
Это правильный способ проверить, успешно ли отписалась подписка
// subject I'm using to unsubscribe subscriptions
private onDestroy$ = new Subject();
// The call to load data
this.service.method()
.pipe(
takeUntil(this.onDestroy$),
tap(() => console.log('unsubscribed')) // <== does this run when it unsubscribes ?
)
.subscribe((pData => {
});
OnDestroy:
ngOnDestroy() {
this.onDestroy$.next(); <== is this necessary ? I'm not sending data
this.onDestroy$.complete();
}
Я также прочитал, что вам не нужно отписываться от HTTP-запросов, так как он выполняет complete () после получения результата и сам отписывается, это правильно?
Не могли бы вы объяснить мне следующее утверждение:
«Использование оператора вроде takeUntil вместо отмены подписки вручную также завершит наблюдаемое, вызывая любое событие завершения в наблюдаемом.»