I have a such situation:
- Have a service '
MyService
'
function getData() {
// $timeout(function () {
if (data) { // What to verify if data exist for not to make a request
var defer = $q.defer();
defer.resolve({
data: data
});
return defer.promise;
}
// }, 0);
return ApiWrapper.resolve('get', 'api/data'); // Just a wrapper for request, return a promise
}
Get
request
to server inrun block
and save response to my service 'MyService
'
getData().then(function(response) {
MyService.data = response.data;
});
- In
ui-router
resolve
invoke same methodgetData
, but if data already exist, I don't want to make request to the server, I want get stored data from service. But situation is that my Controllers do same request few times while loading and app.
How to refactor MyService
for make only one request to server.
Or, is there any other solutions?