mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ var data={}; data.machines={}; // Parser var parseGetMachinesAnswer=function(response, failedToSendRequest){ }; // Get Machine var getMachines=function(callback){ var result=$http.post('../server/index.php', $.param({"token" : Identity.getToken(), "task" : "compute", "action":"listServers"})); // Wait and handle the response result.then(function (response){ console.log(response.data.Servers); callback(parseGetMachinesAnswer(response, false)); },function(response){ alert(response.status); callback(parseGetMachinesAnswer(response, true)); }); }; var pullData=function(callback){ // TODO call getMachines etc... } // Return services objects return { getMachines: getMachines, pullData: pullData, data:data }; }]);