Angular HttpClient 对象到数组

Angular HttpClient Object to Array

我在 Angular 6 中有一个 HttpClient 调用,它以单个对象响应,但我需要的是一个数组。如何将服务返回的单个对象转换为包含单个对象的数组?

我已经在 Rxjs 中尝试了 tap 和 map 运算符,但我认为我在某处遗漏了一些简单的东西。代码如下:

  search(): Observable<TrainInfo[]> {
    return this.http
      .get<TrainInfo[]>(this.SEARCH_URL)
      .pipe(
        // ??? Something here to convert TrainInfo object returned by get into TrainInfo[]
      );
  } 

TLDR: search_url returns 一个对象 (TrainInfo), 实际上需要数组 (TrainInfo[])

Map 是您要查找的运算符。如果 search_url 总是 returns 一个 TrainInfo,这应该可以解决问题:

search(): Observable<TrainInfo[]> {
  return this.http
    .get<TrainInfo>(this.SEARCH_URL)
    .pipe(
      map(value => [ value ]));
}