Все зависит от конкретного случая. Если ты хочешь использовать те же данные в том же контроллере, то тебе не нужно выносить их в сервис. Но если они будут использоваться еще и в других, то нужно вынести.
Контроллер:
angular.module('myApp').controller('homePageCtrl', ['$scope', 'dataService', function($scope, dataService){
$http.get('/data').success(function(data){
$scope.dataForView = data;
dataService.setData(data);
});
//можем и в данном контроллере использовать повторный раз данные
$scope.dataForView = dataService.getData();
}]);
А можем и в другом контроллере использовать эти данные:
angular.module('myApp').controller('mainPageCtrl', ['$scope', 'dataService', function($scope, dataService){
$scope.dataForMainView = dataService.getData();
}]);
И наш сервис:
angular.module('eventsideApp').factory('dataService', function(){
var dataCtrl = {};
return {
setData: function (data) {
dataCtrl = data;
return dataCtrl;
},
getData: function () {
return dataCtrl;
}
};
});