Я хочу удалить прослушиватель событий после отказа от подписки на наблюдаемое.У меня вопрос, как я могу проверить, удален ли слушатель события или нет.Есть ли способ проверить, удаляется ли прослушиватель событий?
export class BroadcastService {
public events: Observable < any > ;
public channel = new BroadcastChannel('test_channel');
constructor() {
this.events = Observable.create((observer) => {
const listener = (ev) => {
observer.next(ev.data),
console.log("on")
};
this.channel.addEventListener('message', listener);
return () => {
this.channel.removeEventListener('message', listener);
};
});
}
public addPerson(person: any) {
this.channel.postMessage(person);
}
}
И мой компонент:
export class Page2Component implements OnInit {
private componetDestroyed: Subject < any > = new Subject();
private xx: any;
public person = {}
as Person;
constructor(public broadCastService: BroadcastService) {
}
ngOnInit() {
this.xx = this.broadCastService.events.subscribe((e) => {
this.person.age = e.age;
this.person.name = e.name;
});
console.log("onInit");
}
ngOnDestroy() {
this.xx.unsubscribe();
console.log("onDestroy");
}