2017-03-09 94 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下。 –