в конфигурационном файле прокси решена проблема.
я в контроллере Spring-Boot есть следующее:
@RequestMapping(method=RequestMethod.GET,value="/info")
public DataModel getinfodata()
{
//this method runs some script which takes more than 3 minutes and sends the response back
return run_xyz()
}
В моем угловом приложении у меня есть это:
export class FetchService {
private _url:string="/info";
constructor(private _http:Http) { }
getData():any
{
return this._http.get(this._url).map((res:Response)=>res.json()).
catch(this.errorHandler).subscribe(data=>console.log(data));
}
errorHandler(error: Response){
console.error(error);
return Observable.throw(error || "Server Error");
}
Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что Httpget
делает молчаливые попытки на сервер, и в результате мой дорогой скрипт вызывается 3 или 4 раза. Есть ли подход, с помощью которогоget
сделает только один запрос с 0 повторных попыток и дождется завершения сценария, а затем ответ должен быть отправлен обратно. Я вызываю метод getData только один раз.Снимок ответа от бэкэнда Снимок Tomcat, работающего на порте 8080 Снимок ответа сервера в обычном случае, когда скрипт не запущенУгловой CLI Окончательный ответ через 189 секунд