Сначала верните фактическую наблюдаемую:
getUserState(): Observable<UserState> {
return of(this.userState);
}
Во-вторых, вам не нужна карта, может быть, вы можете использовать share или shareReplay
ngOnInit(): void {
this.username$ = this.userService.getUserState().pipe(share());
}
В-третьих, я полагаю, вы используете ее где-то вшаблон
{{ username$ | async | json }}
и если не просто подписаться вот так
ngOnInit(): void {
this.subscription = this.userService.getUserState().subscribe((state: UserState) => ...);
}
ngOndestroy(): void {
this.subscription.unsubscribe(); // clean up after yourself
}