我确实有一个Angular 5应用程序,它使用HttpClient进行后端服务调用。
如果服务需要一些时间才能返回,则Angular会触发第二次调用(恰好在120秒后)。
我已经验证,代码中没有重试逻辑,也没有其他功能再次调用同一服务。
有人可以帮助我了解这是Angular 5中的错误还是某种默认的行为。
public appPost(inputObj: InputObj) {
return this.httpClient
.post('_url_', inputObj)
.timeoutWith(300000, Observable.throw({"error" : "The Application has timed out. Please Contact Administrator."}));
}
this.appService.appPost(inputObj).subscribe(
(resp: any) => {
//do something
},
error => {
//throw error
}
);
我还进行了一些调试,发现第二个调用未在chrome调试工具的网络部分显示。但是,如果您添加了拦截器并记录了呼叫,则该拦截器将在那里分散显示。
答案 0 :(得分:0)
我找到了解决问题的方法。该问题是由于Web Pack代理设置的默认超时而引起的。