Angular 6 rxjs 6 return 可观察的嵌套元素

Angular 6 rxjs 6 return Observable nested element

我想 return 像这样的可观察对象的子元素。

假设我有一个 HttpClient 可以观察到人们:

export class People{

    public Name: string;
}

以及一项将单个服务视为可观察的服务:

public get(id: number): Observable<People> {
    return this.http.get<People>('http://localhost:8801/' + "people/" + id);
  }

现在我想从我的可观察对象中获取名称作为可观察对象:

public get(id: number): Observable<string>{
    this.peopleService.get(id) .... ?
}

这是怎么做到的?

订阅活动

  this.peopleService.get(id).subscribe((item) => {
   console.log(item.name)
 })

您可以使用 map() 函数来转换 people observable:

const nameObservable = this.peopleService.get(id).pipe(
    map(people => people.name)
);