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 ]));
}
我在 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 ]));
}