AngularJS $ http dans un service, renvoyer des données résolues, pas des promesses

Je veux savoir si il est possible de faire un appel de service qui utilise $http afin qu'il renvoie directement les données sans avoir à retourner une promesse? J'ai essayé d'utiliser le $q et de reporter sans un peu de chance.

Voici ce que je veux dire:

J'ai un service:

angular.module('myModule').factor('myService', ['$http', '$q',
    function($http, $q) {

        //Public API
        return {
            myServiceCall: function() {
                return $http.get('/server/call');
            }
        };
    }
]);

Et ce est la façon dont je l'appellerais:

//My controller:
myService.myServiceCall().then(function(data) {
  $scope.data = data;
});

Je veux éviter que la et plutôt souhaitez avoir:

$scope.data = myService.myServiceCall();

Je veux qu'il soit entièrement réglé à cette ligne, c'est possible?

J'ai essayé quelques combinaisons de $q, reporter et 'puis' méthodes, mais ne réussissent pas à obtenir de droit, puisque la méthode retourne immédiatement.

Edit:

Si vous vous demandez pourquoi, la raison principale est que j'ai voulu simplifier le code du contrôleur, cela se fait facilement avec ngResource que ces appels sont automatiquement résolus dans les modèles, donc j'ai voulu éviter le besoin de faire du tout".ensuite,' a chaque fois.

Ce n'est pas que je n'aime pas la nature Asynchrone, la plupart de nos code exploite, c'est juste dans la certains cas, d'avoir une façon synchrone est utile.

Je pense que pour l'instant, comme certains d'entre vous l'ont souligné, je vais utiliser le $ressource, pour un assez proche de la solution.

source d'informationauteur iQ.