1

根据 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 }
    });
});

我想知道的是:

  1. 缓存中键的名称是什么?$http缓存,key是service/api的路径,如果我们使用自定义缓存会不会一样?
  2. 有没有办法为自定义缓存提供我们自己的键名(myCache here)

我尝试了 AngularJS 文档和其他 stackoverflow 线程,但没有找到任何答案。请帮忙。

4

1 回答 1

0

我不确定你是否还需要回答这个一年前的问题。

Angular 文档 $http - 缓存部分未提及自定义键

从 $http 库中,自定义或默认缓存将使用此行来“放置”作为请求 url 的缓存。

所以回答你的问题:

  1. 请求网址。是的,客户缓存也一样
  2. 否(至少到现在为止)
于 2017-02-03T02:26:16.563 回答