根据 AngularJS 文档,$resource 服务现在也支持缓存。
cache - {boolean|Cache} - 如果为真,默认的 $http 缓存将用于缓存 GET 请求,否则如果使用 $cacheFactory 构建的缓存实例,此缓存将用于缓存。
所以我可以写 $resource 如下:
app.factory('myResourceWithCache', function($resource, $cacheFactory) {
var myCache = $cacheFactory('MyCache');
return $resource(apiBaseUrl + '/myservice/:id', {id: '@id'}, {
'get': { method:'GET', cache: myCache },
'query': { method:'GET', cache: myCache , isArray:true }
});
});
我想知道的是:
- 缓存中键的名称是什么?$http缓存,key是service/api的路径,如果我们使用自定义缓存会不会一样?
- 有没有办法为自定义缓存提供我们自己的键名(myCache here)
我尝试了 AngularJS 文档和其他 stackoverflow 线程,但没有找到任何答案。请帮忙。