Установите $httpProvider.defaults.cache в блоке конфигурации
Как я могу установить $httpProvider.defaults.cache
в конфиге в моем приложении? Всякий раз, когда я пытался, я получал ошибку "ReferenceError: $cacheFactory is notfined".
Итак, сейчас я пытаюсь найти альтернативные методы, чтобы сделать это.
Поэтому, пожалуйста, посоветуйте, какие обходные пути для достижения этой цели.
1 ответ
Если вы читаете этот раздел о кэшировании $ http, он говорит:
Вы можете изменить кэш по умолчанию на новый объект (созданный с помощью $cacheFactory), обновив
$http.defaults.cache
имущество. Все запросы, которые устанавливают для своего свойства кэша значение 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
за кулисами, а не вы называете это явно.