My Angular frontend选择参数,然后对执行查询的Spring Boot应用程序进行HTTP GET api调用。
现在,我的查询非常复杂,至少需要3分钟才能完成执行,然后将结果返回给Angular。
从Angular拨打api电话2分钟后,我可以看到Chrome控制台上出现以下错误。即使Spring引导完成执行,Angular
也没有收到任何响应zone.js:2935 GET http://localhost:4200/api/oonReimbursement?market=Jumbo&start=2018-1-1&end=2018-1-3 net :: ERR_EMPTY_RESPONSE
以下是我的获取api通话方法
public getOonReport(searchCriteriaDTO: SearchCriteriaDTO): Observable < OonReimbursementDTO[] > {
const cpParams = new URLSearchParams();
cpParams.set('market', searchCriteriaDTO.marketSegment);
cpParams.set('start', searchCriteriaDTO.effectiveStartDate.toString());
cpParams.set('end', searchCriteriaDTO.effectiveEndDate.toString());
const options = new RequestOptions({
params: cpParams
});
console.log("REST API call = /api/oonReimbursement");
return this.http.get('/api/oonReimbursement', options)
.pipe(
map((response: Response) => < OonReimbursementDTO[] > response.json()));
}
下面是我在角度组件中的订阅方法。
this.report1Service.getOonReport(searchCriteriaDTO).subscribe((data: OonReimbursementDTO[]) => this.oonReports = data);
如果查询执行在不到2分钟内完成,我们就会得到完美的响应。
如果由于角度结束时的超时问题或者http.get()api调用中的Rx Observables相关内容,有人可以帮我解决这个问题吗?