我在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 [])
答案 0 :(得分:1)
地图是您正在寻找的运营商。如果search_url
总是返回单个TrainInfo
,则可以解决问题:
search(): Observable<TrainInfo[]> {
return this.http
.get<TrainInfo>(this.SEARCH_URL)
.pipe(
map(value => [ value ]));
}