将对象推送到可观察订阅的数组中
2020-04-14
1518
我有两个请求,它们具有相同的对象结果(“Data”)。我将获取两个响应,并将所有结果放入数组(“Data[]”)。示例:
在我的服务中:
getData1(): Observable<Data> {
return this.http
.get<Data>(`${url}/data`):
}
getData2(): Observable<Data> {
return this.http
.get<Data>(`${url}/data`):
}
如何获取两个方法的结果,并将所有结果放入我的组件的 data[] 中?
更新解决方案
服务
getData1(): Observable<Data> {
return this.http
.get<Data>(`${url}/data`):
}
getData2(): Observable<Data> {
return this.http
.get<Data>(`${url}/data`):
}
getDatas(): Observable<GetData[]> {
return forkJoin([this.getData1(), this.getData2()]);
}
组件
getDatas: GetData[];
ngOnInit() {
this.dataService.getDatas().subscribe(x => this.getDatas= x);
}
我可以在 *ngFor="let data of datas" 上创建一个循环
它有效
1个回答
使用
ForkJoin
如下:
getData(): Observable<Data[]> {
const req = [];
req.push(this.http.get<Data>(url_1));
req.push(this.http.get<Data>(url_2));
return forkJoin(req);
}
这将以
数组
形式返回响应,其中将提供两个 url 的响应
Shashank Vivek
2020-04-14