如何使用角度中的承诺基于父值组合父项和子项



我使用 httpclient 在 angular 中使用 promise 得到响应。但是我需要使用父表 ID 获取另一个表,并使用 map 或列表或某种方式将两者结合起来。由于我是这个概念的新手,任何人都可以帮助我提供解决方案或建议。

请在下面找到我试图获取的代码,我不确定它是否也是正确的代码。

  this.parentDetails = this.apiService.getParentDetails().then(
      parents => this.parentsList = parents,
      error => this.errorMessage = <any> error).then(
      parentsList => this.childId = parentsList.childId,
  );

从这里我不知道如何接管并获得两个模型

async getData() {
  try {
    // let both start at the same time
    let parentDetails$ = this.apiService.getParentDetails();
    let yourSecondRequest$ = this.apiService.getParentDetails();
    // get the values 
    let parentDetails = await parentDetails$;
    let yourSecondRequest = await yourSecondRequest$;
    parentDetails.something = yourSecondRequest.something;
  } catch (e) {
    // error handling in case a html request fails
  }
}

对于依赖请求,您可以使用 async 和 await。

  async function() 
  {
    var parentrequest1 = await service.getParentDetails().toPromise();
    //do processing of received data
    var childrequest2 = await service.getChildDetatils().toPromise();
    //do processing
  }

最新更新