In your case you can implement a Promises, so you can get the return of the request.
example implementation.
.factory('servico', function['$q', '$http', function ($q, $http) {
return {
method: function (objeto) {
var deferred : $q.defer();
$http.post('url', objeto)
.success(function(data){
deferred.resolve(data);
}).error(function(data) {
deferred.reject(data);
});
deferred.promise;
}
}
}])
In your controller that injects your factory you will access the promises as follows
servico.method({objeto}).then(function(retorno){ $scope.suaVariavel = retorno }, function(retornoError){});
The Service Factory, is responsible for performing the request HTTP (ajax) and return if SUCCESS, its object, and if error, its error, thus the promise deferred, is responsible for launching a (resolve or reject) according to the http request.
in your controller where you have injected the service, into the Then you get the return from the promises, implemented in the service and apply to your property.
Promises / Defered reference
link