Angular 何时使用RxJS Observable<;对象[]>;和可观察的<;对象>;?

Angular 何时使用RxJS Observable<;对象[]>;和可观察的<;对象>;?,angular,typescript,rxjs,observable,Angular,Typescript,Rxjs,Observable,使用Angular 6,我基于定义了我的服务。如果一个方法应该返回多个值,我总是返回一个可观察值。另外,看看(,这只适用于~Observable(Observable:表示未来值或事件的可调用集合。),似乎我应该使用Observable来收集类似服务器的返回,但我使用什么来处理单值返回呢 示例服务: all(): Observable<T[]> { return this.httpClient.get<T[]>(this.urls().allURL());

使用Angular 6,我基于定义了我的服务。如果一个方法应该返回多个值,我总是返回一个
可观察值。另外,看看(,这只适用于~
Observable(
Observable:表示未来值或事件的可调用集合。
),似乎我应该使用
Observable
来收集类似服务器的返回,但我使用什么来处理单值返回呢

示例服务:

  all(): Observable<T[]> {
    return this.httpClient.get<T[]>(this.urls().allURL());
  }

  paginate(pageRequest: any): Observable<Page<T>> {
    return this.httpClient.post<Page<T>>(this.urls().paginateURL(), pageRequest);
  }

  findOneById(id: number): Observable<T> {
    return this.httpClient.get<T>(this.urls().byIdURL(id));
  }

我不确定你想要什么。如果一个群体是可观察的

export class AppComponent implements OnInit {
  people: any[] = [
   { name: 'Sue', age: 25 },
   { name: 'Joe', age: 30 },
   { name: 'Frank', age: 25 },
   { name: 'Sarah', age: 35 }
  ];
  result:any[][];

  ngOnInit()
  {
    this.myObservable().subscribe(res=>{
      this.result=res;
    })
  }

  myObservable():Observable<any[][]>
  {
    return from(this.people).pipe(
      groupBy((person:any)=>person.age),
      mergeMap(group=>group.pipe(toArray())),
      toArray());
  }
导出类AppComponent实现OnInit{
人物:任何[]=[
{姓名:苏,年龄:25},
{姓名:'Joe',年龄:30},
{姓名:'Frank',年龄:25},
{姓名:'Sarah',年龄:35}
];
结果:任何[];
恩戈尼尼特()
{
this.myObservable().subscribe(res=>{
结果=res;
})
}
myObservable():可观察的
{
从(这个人)回来(
groupBy((个人:任何)=>个人年龄),
mergeMap(group=>group.pipe(toArray()),
toArray());
}
还有.html

  <div *ngFor="let ages of result">
    <strong>{{ages[0].age}}</strong>
    <div *ngFor="let item of ages">
      {{item.name}}
    </div>
  </div>

{{ages[0]。age}}
{{item.name}

您可以在httpClient get中使用不同的返回类型,也可以在函数中使用另一个返回类型。只需使用map转换响应:http.client.get(…).pipe(map(响应:T[]=>{…return T})@Eliseo我的问题主要是,什么是最佳实践?我是否在任何地方都使用
可观察的
,然后在单个值中获得第一个值?我更新了我的问题。顺便说一句,感谢按代码分组,我可以使用它!
  <div *ngFor="let ages of result">
    <strong>{{ages[0].age}}</strong>
    <div *ngFor="let item of ages">
      {{item.name}}
    </div>
  </div>