AngularJs calls an internal service function from itself

I created a simple service that performs several requests. The service has two methods. I cannot call one method from another inside the service.

Plunkr: http://plnkr.co/edit/2fERik4uTxbxlVOhncMd?p=preview

app.factory('Report', ['$http', function($http){ var Authors = { reports : [], requests :[{'url':'data/data.cfm','response':'first'}, {'url':'data.json','response':'second'}, {'url':'data.json','response':'third'}, {'url':'data.json','response':'forth'}], getReport : function(target, source, response, callback) { return $http({ url:source, method:"POST", params:{url : target} }).success(function(result) { $scope.progress = response; angular.extend($scope.user, result) console.log($scope.user) } ).error(function(error){ $scope.progress = response }) }, startQueue : function (target) { var promises = []; this.requests.forEach(function (obj, i) { console.log(obj.url) promises.push(getReport(target, obj.url, obj.response, function(value){ reports.push(value); console.log(value) })); }); $q.all(promises).then(function () { console.log("Finito"); },function(error){ console.log("errori") }); } }; return Authors; }]) 

When I try to call getReport from inside startQueue, I get an error: getReport is not defined.

+6
angularjs
Sep 17 '13 at 15:23
source share
2 answers

Change your factory to:

 app.factory('Report', ['$http', function($http){ var Authors = { reports : [], requests :[{'url':'data/data.cfm','response':'first'}, {'url':'data.json','response':'second'}, {'url':'data.json','response':'third'}, {'url':'data.json','response':'forth'}], }; Authors.getReport = function(target, source, response, callback) { }; Authors.startQueue = function (target) { }; return Authors; }]) 
+13
Sep 17 '13 at 15:29
source share

I know this is "very late", but it looks like this because you do not have $ q.

Edit:

 app.factory('Report', ['$http', function($http){ 

to

 app.factory('Report', ['$http','$q', function($http,$q){ 
+1
Jan 27 '15 at 13:50
source share



All Articles