Angular 4:一个订阅,两个Http调用

时间:2018-08-24 19:47:04

标签: angular rxjs

我试图以一种非常标准的方式将数据发布到服务器,而我以前可能做过一百万次,但是在这种特殊情况下,正在进行两次http调用。谁能帮助解释为什么可能会发生这种情况?

我正在将Angular 4.2.4与Rxjs 5.4.3一起使用,并使用HttpClient和实例将其发布到服务器。

下面是相关的组件代码,使用用户界面中的事件处理程序进行调用。

this.visitsService
    .addMeasuredWeight(this.visit.Id, this.kid.Id, weight)
    .subscribe(result =>
      this.kid.Weights.push(MeasuredWeightDto.ToMeasuredWeight(result))
    );

这是服务代码

    public addMeasuredWeight(
          visitId: string,
          personId: string,
          measuredWeight: MeasuredWeight
    ): Observable<MeasuredWeightDto> {
      let url: string = `${this.getBaseUrl()}/${visitId}/persons/${personId}/weights`;

      return this.http.post<MeasuredWeightDto>(
        url,
        MeasuredWeightDto.FromMeasuredWeight(measuredWeight)
      );
    }

我已经通过调试器确认,这些方法仅被调用一次,但是在Chrome DevTools网络标签中,显示了两个http帖子,并且预订结果处理程序实际上运行了两次。下面是DevTools的屏幕截图,显示了多个帖子。

enter image description here

任何帮助确定为什么在此处进行多次呼叫的人员将不胜感激。请让我知道是否需要任何其他信息。  预先感谢。

0 个答案:

没有答案