我刚开始使用angular-cache并在堆栈溢出时看到了这个问题,用户询问是否在缓存之前调用了 ngResource transformResponse 函数。显然,答案是否定的。
但是,是否有可能没有办法解决这个问题?在我的 API 中,我返回一个包含大量信息的对象(其他对象、数组等,我不需要)。我需要缓存的只是他们的ID。
这怎么可能?这就是我的想法:
app.factory('Operator', function($resource, API_CONFIG_URL, CacheFactory) {
var opsCache = CacheFactory.get('manageableOperatorsCache');
return $resource(API_CONFIG_URL+ '/operators/:id', {id: '@id'}, {
'get': {
method:'GET',
transformResponse: function(data, headers) {
// transform object to this format: ids : [1, 2, 3]
},
cache: opsCache
},
});
});
谢谢你的帮助 :)