角2+ HTTPRequests的异步获得在图表的一种方法,从多个图表数据(Angular 2+ H

2019-10-29 23:16发布

我有一个NGX-图表,其中我想从2个或更多不同的MongoDB表插入一些数据。 所以,我必须做出HTTPRequests的两个不同的路线,因为每个路由查询自己的收藏/表在MongoDB中。 我该怎么做一个大的方法里面得到一个图表中的所有数据? 由于该请求是异步的,我会做的HTTP请求方法里面的图表数据操作...这将是确定的,如果我只是从一个路径(或一个表)查询。 但正如我已经从1个多表查询,我将不得不等待一个请求的完成,做数据处理和保存在某个地方的数据。然后我会做第二个请求,再次做同样的。

我怎样才能做到这一点? 问题是,当我“跳槽”一个HttpRequest的方法,其中的数据在于,该数据似乎不提供了...

这是我的一个请求为现在的方法:

getProduktReservierung(startTime, endTime, DemoID) { 
    return this.http.get('http://localhost:5555/chart/Product/thisprod' + startTime+'.'+endTime+'.' + DemoID)
    .subscribe((res: Response) => {
      this.chartData = res;
      console.log("Produkt Reservation Data:", this.chartData);
      this.dataArray = this.formatDataReservierungen(this.chartData);    
    },
    (err) => {
      if (err.error instanceof Error) {
        console.log('Client-side error occured.');
      } else {
        console.log('Server-side error occured.');
      }
    });
  }

数据操作和检索的部分是内部.subscribe()方法...我应该怎么做,现在如果我查询其他表中的数据,并希望在一次一起兼得的数据?

Answer 1:

你应该看看forkjoin 。

它类似于promise.all 。 创建所有的数组http请求和阵列传递到forkJoin.subscribe()就像你在单一的情况下做http请求。



文章来源: Angular 2+ HTTPRequests get data from multiple Charts asynchronously in one method for a chart