У меня есть следующий компонент:
export class UserComponent implements OnInit {
user$: Observable<UserModel>;
constructor(private userService: UserService) { }
ngOnInit() {
this.user$ = this.getUser();
}
getUser(): Observable<UserModel> {
return this.userService.getByUserId(25).pipe(map((payload: Payload<UserResponse>) => {
return payload.result.map((response: UserResponse) => {
return {
id: response.id,
name: response.name,
// Other mapping properties
};
});
}));
}
}
С моим кодом getUser()
должен вернуть Observable<UserModel[]>
.
Но я знаю, что в этом случае полезная нагрузка имеет только один пользовательский ответ.
Итак, я бы хотел, чтобы метод getUser()
возвратил Observable<UserModel>
.
Как настроить код канала / карты так, чтобы он возвращал Observable одной UserModel?
Payload
Полезная нагрузка:
export class Payload<T> {
errors: Error[];
paging: Paging;
result: T[];
constructor(result: T[], paging?: Paging, errors?: Error[]) {
this.errors = errors;
this.paging = paging;
this.result = result;
}
}