I'm currently attempting to pull some $http.jsonp() calls and promise
follow-on code out of my controller so it can be reused as a service by
multiple controllers. However, trying to understand how to implement this
is killing me. Consider that I have something like this for a controller:
app.controller("MyController", ["$scope","$http",
function($scope, $http){
$scope.modelObjs = new Array();
// Get model data from web service
$http.jsonp("https://someurl.com/someWebService.php?someParam=whatever"
).then(
function(response)
{
// Massage model data from service into exact form we want
var thisObj =
{
someAttr: response.data[i].whatever,
...
};
$scope.modelObjs.push(thisObj);
});
});
Getting the jsonp call and resultant promise code out and into a service is
what I want so it would look something like this in the controller:
app.controller("MyController", ["$scope","$http",
function($scope, $http){
$scope.modelObjs = MyService.getModelObjs();
});
The part I can't figure out is how I present the service's API to any
clients. Since the service will be using the $http service and will thus be
asynchronous, I can't immediately return the model objects so the code
above would work. I suspect I have to in turn use another promise, but I'm
at a loss. Does this make sense? Can anyone provide any advice?
--
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.