Angular HttpClient对象到数组

时间:2019-01-14 23:39:55

标签: angular rxjs angular-httpclient

我在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返回一个对象(TrainInfo),实际上需要数组(TrainInfo [])

1 个答案:

答案 0 :(得分:1)

地图是您正在寻找的运营商。如果search_url总是返回单个TrainInfo,则可以解决问题:

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