Вы можете использовать unsubscribe
только на Subscription
.Вы пытаетесь использовать его на Observable
.
. Если вы используете наблюдаемое внутри вашего компонента, используя async
канал, вам не нужно отписываться.Это автоматически выполняется фреймворком.
Если вы используете его внутри component.ts
, то один из способов - сделать это следующим образом.Есть и другие варианты, например, takeUntil
pipe:
private deviceObserver: Observable<BreakpointState> =
this.breakpointObserver.observe([Breakpoints.XSmall]);
ngOnInit() {
this.sub = this.deviceObserver.subscribe(result => {
if (result.matches) {
this.deviceType = 'mobile';
} else {
this.deviceType = 'desktop';
}
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}