我有一个返回对象的函数。
getUserState(): UserState {
return this.userState;
}
我将上述函数结果存储在以下可观察到的地方:
username$: Observable<UserState[]>;
constructor(private userService:UserStateService) {}
ngOnInit(): void {
this.username$ = this.userService.getUserState().map(data =>
{
this.username$ = data;
})
}
在这里我得到了错误:
Property 'map' does not exist on type 'UserState'.
我做错了什么?
答案 0 :(得分:0)
首先返回一个实际的可观察值:
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
}
答案 1 :(得分:-1)
尝试导入“地图”运算符。
导入'rxjs / add / operator / map'