在 Angular 中合并来自不同服务的对象

Ali Batuhan Bayraktar

我想对来自不同服务的不同对象进行标记。

我的服务是这样的:

  getEndPoint(base): Observable<any> {
    return this.http.get(this.apiURL + '/latest?access_key=' + this.apiKey + '&base=' + base).pipe(
      retry(1)
    );
  }

  getLastPoint(base): Observable<any> {
    return this.http.get(this.apiURL + '/2019-09-17?access_key=' + this.apiKey + '&base=' + base).pipe(
      retry(1)
    );
  }

我的组件是这样的:


getSymbolDetail(base: string): void {

    this.symbolService.getEndPoint(base).subscribe( data => {
      this.symbolEndPoint = data;
    });

    this.symbolService.getLastPoint(base).subscribe(data => {
      this.symbolLastDayPoint = data.rates.EUR;
      console.log(this.symbolEndPoint);
    });
  }

我的错误是,当我两次运行同一个组件时,symbolEndPoint 可能是旧数据。那么我如何合并两个对象(symbolEndPoint 和 symbolLastDayPoint)?

Ali Batuhan Bayraktar

我通过这篇文章解决了问题

我像这样改变了我的服务。

getDetail(base): Observable<any> {
let getSymbols = this.http.get(this.apiURL + '/symbols?access_key=' + this.apiKey);
let getEndPoint = this.http.get(this.apiURL + '/latest?access_key=' + this.apiKey + '&base=' + base);
let getLastPoint = this.http.get(this.apiURL + '/2019-09-17?access_key=' + this.apiKey + '&base=' + base);
return forkJoin([getSymbols, getEndPoint, getLastPoint]);};

和我的组件:

getSymbolDetail(base: string): void {
this.symbolService.getDetail(base).subscribe(data => {
  this.symbolName = data[0].symbols[base];
  this.symbolEndPoint = data[1].rates.EUR;
  this.symbolLastDayPoint = data[2].rates.EUR;
  this.symbolDailyChange = (this.symbolEndPoint - this.symbolLastDayPoint).toString().substring(0, 8);
});}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Angular服务中删除对象

在来自两个不同组件的同一服务数组中添加元素 - angular

Angular Javascript中合并匹配对象的合并数组

合并来自不同数组的对象

不同的支撑对象Angular中的错误

多个组件中的对象服务 *ngFor Angular

Angular2:找不到与服务类不同的支持对象

如何在Angular Factory中存储来自http服务的数据

在来自 json Angular 的 http 服务的 html 中显示数据

来自服务的数据无法在Angular2的OnInit中访问

在 Angular 中显示来自服务的值时出错

无法在Angular 4中提前输入来自服务的数据

如何使用 Angular 中的 Typescript 等待来自 Web 服务的响应

Angular ng-repeat-如何合并或组合来自不同数组的数据

来自Angular HttpInterceptor的服务的用法

来自服务的Angular Access数据

来自Angular 5中json对象的动态嵌套Material菜单

合并来自不同Runit服务的svlogd日志

合并来自不同CSV的对象数组

在Angular中的不同列中渲染JSON对象?

无法使用 Angular 服务在 Angular 应用程序中访问来自 JSON 文件的数据

如何在Angular 2/5中从服务中订阅对象?

根据angular中的URL参数注入不同的服务

在业力中测试Angular服务:相同的测试,不同的结果

Angular中针对控制器,服务等的不同语法

Angular 6 如何使用服务将来自 BehaviourSubject<Object[]> 的选定对象传递给组件?

Angular中同一对象成员的不同值

Angular 2 中对象的多个不同注入实例

Angular js,从服务传递对象