在配置块中设置$ httpProvider.defaults.cache

时间:2015-09-13 00:30:37

标签: javascript angularjs cachefactory

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

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

因此,请建议实现此目的的解决方法。

1 个答案:

答案 0 :(得分:1)

如果您在$http caching上阅读此部分,则会说:

  

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

请注意您如何使用$http代替$httpProvider来完成此操作。诀窍是不在config中设置默认缓存,而是在运行块或您创建的其他服务/工厂中设置默认缓存。例如:

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,而不是明确地调用它。