我试图以一种非常标准的方式将数据发布到服务器,而我以前可能做过一百万次,但是在这种特殊情况下,正在进行两次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的屏幕截图,显示了多个帖子。
任何帮助确定为什么在此处进行多次呼叫的人员将不胜感激。请让我知道是否需要任何其他信息。 预先感谢。