Hi Konstatin,

Just return the promise form the service, make use of the fact that 
services only gets instantiated once.  You can add as many .then's to a 
promise as you need, it won't execute the promise anymore.
sample:
    GetData.$inject=["$http"]
    function GetData($http) {
        var service = this;
        var defaultUrl = "/goGetSomething"
        service.getData = function (url) {
            url = url || defaultUrl
            service.prom = $http.get(url);
        }
        service.getData(defaultUrl)
        return service
    }

    SomeController.$inject=["GetData"]
    function SomeController(GetData) {
        var vm = this;
        GetData.prom.then(function (response) {
            vm.whatever = response....
        })
    }

    angular
        .module('sample',[])
        .service('GetData', GetData)
        .controller('SomeController', SomeController)


Is that what you where looking for? This way you keep reusing the same 
(already fulfilled) promise, while keeping the option open to reload the 
data. 

(sorry about the deleted post, there was a significant thing missing in the 
code....)

Regards
Sander

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to