Установите $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 за кулисами, а не вы называете это явно.

Другие вопросы по тегам