我刚开始使用angular-cache并在堆栈溢出时看到此question,用户询问是否在缓存之前调用了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
},
});
});
感谢您的帮助:)
答案 0 :(得分:0)
作为解决方法,我使用CacheFactory.put(key, value)
函数中的transformResponse
自行填充缓存