2017-03-09 23 views
0

我通过以下语句将所有http调用存储在缓存中: $ httpProvider.defaults.cache = true;删除cachefactory中的http密钥

现在我想从该缓存中删除特定的http调用。

我知道我们没有选项来读取所有的关键值。因此,我只需要知道该阵列的关键价值。

这样我就可以通过cachefactory.remove(key)将其删除。

问候, 哈日

回答

0

设置$httpProvider.defaults.cachetrue将创建一个缓存,$http的关键。

var $httpCache = $cacheFactory.get('$http'); 

一旦你的缓存,你可以使用它像任何其他高速缓存:

$httpCache.remove(key); 

更多信息可以在这里找到:像你得到任何其他的缓存就可以得到这个缓存
$cacheFactory
$cacheFactory.Cache

+0

我想知道那个关键值是什么。例如,如果我做了三个http获取请求,那么我的cachefactory会有三个项目的列表。我希望从该缓存列表中删除第二个http请求。为此我需要知道它的关键价值。那么请告诉我这个关键价值是什么?我尝试通过索引删除它,但它没有奏效 –

+0

我也尝试查看http缓存中的所有键。但是图书馆没有这样的代码。所以现在我的目标是从该缓存中删除某个http请求。为此,我需要知道什么是关键价值。这样我就可以构建它并将它从http列表 –

+0

的cachefactory中移除它们的关键是包含参数的请求url。你可以在这里阅读更多关于它的信息:[$ http](https://docs.angularjs.org/api/ng/service/$http)在Caching下。 –