-->

Angularjs $resource Cache

2020-05-04 02:36发布

问题:

I have a more generic implementation of $resource as "Datarepository" factory in my application and all the REST API calls calls this factory to do the "REST" operation

myapp.factory('DataRepository', function ($resource) {
 var resourceFactory = function (url) {
        return $resource(url, {}, {
            update: { method: 'PUT' }
        }
        );
    }
 return {
        invokeAPI: resourceFactory
    }
});

A sample call to the repository get method looks like this

DataRepository.invokeAPI(myappURL).get();

For a specific scenario alone, i would like to "cache" the data.. I dont want to disturb the "Datarepository" factory method and just would like to add the cache paramter for those URL's which i would like to cache the data

something like this

DataRepository.invokeAPI(myappURL).get({cache:true});

The above implementation doesnt work the way it is expected and it passed the cache as query string paramter. I read the angularjs documentation for $resource. I got it how to set it at $resource level but i m not sure how to pass it to the resource through normal function call without disturbing the Factory implementation