在父API Angular之后调用子API

时间:2019-09-17 23:00:17

标签: angular rest api

我遇到的问题是: 我有2个实体,子实体和父实体,每个实体都有自己的api,并且是一对多关系。父组件内部具有子组件,因此在创建新父组件期间,用户也可以创建子组件。我的问题是,如何保持孩子的创建(api调用)直到创建父对象,这样我才能在后端获得生成的parentId并放入我的孩子然后创建它?

2 个答案:

答案 0 :(得分:0)

只需在用于渲染子组件的父模板上使用* ngIf即可。

例如,在父组件中

<div class="I-AM-PARENT">
    <child-component *ngIf="parentId" [parentId]="parentId"></child-component>
</div>

答案 1 :(得分:0)

您可以使用mergeMap等待第一个API调用完成,然后再发出新请求。您可以进行第一个调用,其结果将在mergeMap块中可用,供下一个调用使用。

this.httpClient.post('bookApiUrl', { bookData }).mergeMap(bookApiResponse => {
  // Perform any operation on bookApiResponse
  // Extract book id from bookApiResponse for use in next API call
  return this.httpClient.post('commentApiUrl', { commentData })
}).subscribe(commentApiResponse => {
  // Perform any operation on commentApiResponse
});