【发布时间】:2014-09-26 20:24:47
【问题描述】:
我正在使用 $resource 并缓存 get 请求的结果。我的问题是,在发布请求后,缓存没有失效。
这是服务的返回值:
return $resource('http://url.com/api/url/:id', {}, {
'query' : {
method : 'GET',
isArray:true,
cache : true
},
'get' : {
method : 'GET',
cache : false
}
})
这是我在控制器中使用的保存方法。如您所见,我正在使用 post 请求上的回调来重新计算查询/名词列表。
var newNoun = new Noun($scope.noun);
newNoun.$save(function(x) {
$scope.nouns = Noun.query();
});
我想在调用 post 或其他非 get 方法后使缓存无效。我怎么能这样做?这是否已经内置在 $resource 中,还是我需要自己实现?
【问题讨论】:
-
我在研究如何做到这一点时遇到了这个问题。问题是我不知道如何将代码集成到服务/控制器方法中。我尝试了几种方法,但无法正常工作。请问你能告诉我你会怎么做吗?
-
您想仅对每个资源 ID 或整个缓存进行无效缓存吗?
-
我希望它能够反映发出的请求。例如,如果我向 /nouns 发帖,它应该使对 /nouns 的获取请求无效。如果我发布到 /nouns/5,它应该使缓存中的 /nouns/5 的获取请求无效。
标签: angularjs angularjs-resource