Javascript Angular2:同步两个post请求

Javascript Angular2:同步两个post请求,javascript,ajax,post,angular,observable,Javascript,Ajax,Post,Angular,Observable,我有两个ajax post请求,需要作为同步调用执行。 场景是表单正在创建两种不同类型的对象,这些对象需要作为post请求发送到不同的API,我必须在UI上显示动画,直到两个API都将结果返回到UI 任何帮助 编辑以添加代码 doApproveSingle() { //animation part this.loading = true //call 1 this._http.post('api/single', this.approvedChanges, c

我有两个ajax post请求,需要作为同步调用执行。 场景是表单正在创建两种不同类型的对象,这些对象需要作为post请求发送到不同的API,我必须在UI上显示动画,直到两个API都将结果返回到UI

任何帮助

编辑以添加代码

  doApproveSingle() {
    //animation part
    this.loading = true
    //call 1
    this._http.post('api/single', this.approvedChanges, contentHeaders).subscribe(resp => { 
    }, error => {
    })
    //call 2
    this._http.post('api/new', this.approveNew, contentHeaders).subscribe(resp => {
    }, error => {
    })
  }
有两个post请求我需要在两个调用完成后关闭该动画,需要该部分的帮助

  doApproveSingle() {
    //animation part
    this.loading = true
    //call 1
    let obs1 = this._http.post('api/single', this.approvedChanges, contentHeaders)
    .map(resp => { ... });
    //call 2
    let obs2 = this._http.post('api/new', this.approveNew, contentHeaders)
    .map(resp => { ... });
    Observable.zip([obs1, obs2]).subscribe(val => this.loading = false);
  }

如果在单个HTTP调用完成时无需执行任何操作,则可以省略
.map(…)
部分。

能否显示您的代码,并告诉我们哪些部分不起作用,以便我们可以帮助您听起来不太需要同步。请编辑问题并在那里添加代码。注释中的代码不可读。编辑完成以添加代码您可以使用es6 promises,这将有助于您在这种情况下,它符合您的要求。不知何故,它与地图不兼容,我必须使用subscribe使其工作有趣。我自己没有使用TS,所以我不确定,但如果你这么说的话。