我有{cache:true {我的$ Http GET请求。我知道即使启用了这个,数据也会异步返回,但即使如此,我发现他的响应时间也非常长。
我想知道这是否正常,或者更清楚,不应该期望初始请求响应时间高于相同(但下一个)请求响应时间?
例如,
为$ http GET请求启用了缓存:
/foo/api/yellow
在承诺解决后返回一些数据需要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)
感谢您的期待!