I am using $cacheFactory, I like it because it will increase performance by not calling service data all the times. But my doubt is on update of existing data, how can I update $cacheFactory data
service.query = function(queryCriteria) {
var deferred = $q.defer();
var req = {
method: 'GET',
url: BASE_URL + '/ticketCategories' + '?' + ApplicationUtil.parseQueryCriteria(queryCriteria),
headers: {
'Authorization': APP_CONSTANTS.STRATAGIES.BEARER + ' ' + ApplicationStorage.getJwtToken()
},
cache: true
};
var cache = $cacheFactory(Math.random());
var data = cache.get("ticketCategories");
if (!data) {
$http(req).then(function(payload) {
deferred.resolve(payload.data);
cache.put("ticketCategories", payload.data);
}, function(reason) {
Logger.error(reason, 'Error querying ticket categories');
deferred.reject(reason);
});
} else {
return data;
}
return deferred.promise;
};