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":"getServer", serverId:"69d5bcc4-2fab-4634-b0d2-f455fee5b7bd"})); // 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 }; }]);