我的 $Http GET 请求有 {cache:true{ 。我知道即使启用此功能,数据也会异步返回,但即使如此,我发现他的响应时间出奇的长。
我想知道这是否正常,或者更清楚地说,不应该期望初始请求响应时间高于相同(但下一个)请求响应时间?
例如,
两个 $http GET 请求都启用了缓存:
/foo/api/yellow
这会在 promise 解决后返回一些数据,需要 3 秒。我希望这会被 Angularjs 缓存,因为我已经启用了缓存。
片刻之后,发出了一个新请求:
/foo/api/yellow
这会返回一些数据,但即使这应该在第一个请求中缓存,响应时间也相同或高于 3 秒。就像我说的,我知道即使缓存是真的,数据是异步返回的,但是响应时间是正常的,还是有什么问题?
如果这是正常的,我想最好的办法是创建一个新服务,保存所有缓存的数据,然后检查数据是否存在并同步获取?
对于第一个请求,我当前的代码如下所示:
$http.get(MySettings.apiUrl + '/foo/api/yellow', { cache: true });
第二个请求是一样的!
我决定附上控制台日志:
GET http://foo/api/get_tag_index/
200 OK
419ms
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=issues-covers
200 OK
915ms
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=issues-covers
200 OK
1s
angula....min.js (line 106)
200 OK
4.43s
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=cards
200 OK
8.93s
angula....min.js (line 106)
GET http://foo/api/get_tag_posts/?slug=issue-01
200 OK
4.51s
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=news
200 OK
4.51s
angula....min.js (line 106)
GET http://foo/api/get_category_posts/?slug=cards
200 OK
3.86s
angula....min.js (line 106)
感谢您的关注!