у ангулара есть свой cacheFactory. внутри фабрики:
var httpFactory = {},
cache = $cacheFactory.get('$http');
httpFactory.getInterest = function () {
return getWithCache('ref/user-interest')
};
function getWithCache (url) {
var mycache = httpFactory.getCache(baseUrl+url);
if(mycache) {
const _mycache = angular.copy(mycache);
var deferred = $q.defer();
deferred.resolve({data:JSON.parse(_mycache[1])});
return deferred.promise
}
else return $http.get(baseUrl+url, {cache: true})
}
дергаю из контроллера getInterest . первый запрос с сервера, второй и последующие из кеша. при перезагрузке приложения разумеется кеш нулевой