我遇到有关 Angular 4 应用程序的问题。我创建了一个应用程序,其中的数据是从第三方 API 获取的。我遇到的问题是我的 API 多次调用,但我只发送了一次请求。
经过一些研发后,我发现浏览器正在使用 OPTION 方法运行航班请求,但在检查所有 API 后,我发现除了航班请求之外,它们正在运行多次。就像一个 API 一样,我请求 API 一次,它运行了 4 次,其中 2 次用于选项,2 次用于 GET 请求。我检查了我的代码,只有一次请求正在运行。
我完全理解并同意航班要求。
我分析了本地的所有呼叫,结果如下:
1.所有 GET 调用都有相应的 OPTIONS 调用,根据某些文章,这不是问题
2. 然而,有多个呼吁:
http://localhost:3005/tasks?taskID=1713&singular=1 = 4 Get call, 2 OPTIONS call - why?
http://localhost:3003/resources/30/configs = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/configs = 2 GET cal, 1 OPTIONS call - why?
http://localhost:3003/resources/30/settings = 2 GET call, 1 OPTIONS call - why?
http://localhost:3003/resources/146/settings = 2 GET call, 1 OPTIONS call - why?
这些是唯一多次 GET 的调用。对于所有其他调用,/environments、/settings、/admin、/currentevent、/currentshift.. get 调用仅进行一次。
return this.http.get(this.environment.SFDCServiceHost + 'getCurrentEvent?resourceId=' + id + '&singular=1', {headers: this._helperService.setRequestHeader(id)});
您的代码可能存在一些问题。除了航班请求之外,浏览器不会添加运行任何额外的请求。要检查这一点,您首先检查该函数调用了多少次。我对此非常确定,因为我也遇到过同样的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)