如何在角值中使用promise根据父项值合并父子项?

时间:2019-02-12 11:48:08

标签: angular promise

我正在使用httpclient在promise中使用promise进行响应。但是我需要使用父表ID来获取另一个表,并使用map或list或两者结合。由于我是这个概念的新手,任何人都可以向我提供解决方案或建议。

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

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

从这里开始,我不知道如何接管并获得这两种型号

2 个答案:

答案 0 :(得分:0)

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
  }
}

答案 1 :(得分:0)

对于从属请求,您可以使用异步和等待。

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