0

如何$httpProvider.defaults.cache在我的应用程序的配置块中设置?每当我尝试时,我都会收到“ReferenceError: $cacheFactory is not defined”错误。

所以现在,我正在尝试找出替代方法来完成这项工作。

因此,请告知实现此目的的解决方法是什么。

4

1 回答 1

1

如果您阅读有关$http 缓存的这一部分,它会说:

$http.defaults.cache您可以通过更新属性将默认缓存更改为新对象(使用 $cacheFactory 构建) 。所有将其缓存属性设置为 true 的请求现在都将使用此缓存对象。

请注意如何使用$http而不是$httpProvider. 诀窍是不在配置中设置默认缓存,而是在运行块或您创建的其他服务/工厂中设置。例如:

app.run(function($http, $cacheFactory){
    $http.defaults.cache = $cacheFactory('myCache', { capacity: 50 });
});

再次阅读文档后,我意识到我最初误读了它们。如果您仔细阅读默认的文档,它会显示:

defaults.cache - {Object} - 使用 $cacheFactory 构建的对象

这写得不好,但我认为这意味着您传递了用于创建缓存的对象,使用$cacheFactory. 例如:

$httpProvider.defaults.cache = { /* your cache config here */ };

我相信提供者会$cacheFactory在幕后使用,而不是你明确地调用它。

于 2015-09-13T01:31:43.923 回答