【发布时间】:2015-05-22 13:10:43
【问题描述】:
我在 Ionic 应用程序中使用 Angular $http.get() 对外部服务进行 API 调用,并实现了 CacheFactory 插件以使缓存更具可配置性。
一切正常,如果我向相同的端点重复 API 请求,CacheFactory 会返回缓存的响应,并且我在浏览器控制台中看不到实际的 HTTP 请求,直到缓存过期时间过去。
但我希望能够确定我正在使用的数据是来自缓存还是来自新的 HTTP 请求。我该怎么做?
让控制台记录了$http.get() 的输出,我没有看到任何有用的信息,实际上来自缓存或 HTTP 调用的响应对象是相同的。
感谢您的任何想法。
【问题讨论】:
-
只是一个想法,因为我没有时间玩这个想法,但是 - http拦截器可以帮助吗?我想知道当缓存处理请求时它们是否会被忽略(这可以帮助您推断缓存是否最近用于特定请求);或者,如果您可以使用一个时间戳将时间戳附加到标头属性或可能保留在缓存中的内容,并且您可以检查请求是否“新鲜”...
-
否则,我注意到jmdobry.github.io/angular-cache(您指的是
angular-cache是CacheFactory插件吗?)有一个onExpire回调,我认为可能会有一些用处... -
我认为检查 $http 缓存是否已经有与请求关联的键可能会有所帮助。
标签: angularjs caching angular-cache