Angular - 在一个json中存储多个Get请求

时间:2018-01-26 11:49:42

标签: json angular typescript get

我遇到问题。我想在一个GET中存储多个JSON请求的信息,我需要一些建议。我的应用程序中有两个调用,第一个调用为每个元素提供了一些值,如下所示:

//values: Number [] =[]; 
this._ValuesService.getValues().subscribe(
          result => {
            this.values= result;
          },
          err => console.log(err)
        );

第二个GET就是这样:

//calcs: Calcs[] = []; 
this._CalcsService.getCalcs(value)
          .subscribe(
            res => {
              this.calcs= res;
            },
            err => {
              console.log(err);
              alert('Error =C');
            }
          );

我希望同时为GET CalcsService调用Values[]中的每个值,并将其存储在JSON中。我考虑使用ForkJoin的选项,但我认为这不是解决此问题的方法。有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我希望你的意思是来自calcs的所有结果,而不是来自calc +值的混合结果。请尝试以下方法:

this._ValuesService.getValues()
  .map(values => values.map(value => this._CalcsService.getCalcs(value)) // Create an Observable foreach value
  .switchMap(obs => Observable.combineLatest(obs)) // Call the endpoint foreach value
  .subscribe(result => { // Array of results from calc
    console.log(result);
  });