Как указано в заголовке, я использую объект $ resource для выполнения запроса GET.
Может ли кто-то, у кого есть глубокие знания, объяснить разницу при настройке кеша: true
query: {
method: 'GET',
cache: true
}
VS имеет что-то вроде:
var theCache = $cacheFactory('myCache');
и используя этот объект кеша на ресурсе, сделав это:
query: {
method: 'GET',
cache: theCache
}
Передавая true
параметр, вы говорите, что хотите использовать кеш-память по умолчанию (глобальный) $http
, что означает, что ответ будет кэшироваться, и каждый следующий запрос выполняется через $http
или $resource
(что является абстракцией высокого уровня над $http
) будет обслуживаться из кеша (без дополнительных запросов к серверу). Ключом для этого запроса в кеше $http
является URL полного пути. Вы можете получить экземпляр кеша по умолчанию $http
с помощью $cacheFactory
:
var cache = $cacheFactory.get('$http');
Теперь, если вы хотите создать кэш ресурсов, который вы создаете, используя $cacheFactory
и скажите $http
или $resource
чтобы использовать его:
var myCache = $cacheFactory.get('myCache');
$http.get('/api/users.json', {
cache: myCache
});
// or
$resource('/api/users.json', null, {
query: { cache: myCache }
});
Таким образом, никакие другие запросы больше не будут использовать этот кеш. Кроме того, вы можете указать capacity
этого кеша при его capacity
или очистить его, когда это необходимо, без влияния на другую службу.