AngularJS service de réessayer quand la promesse est rejetée

Je suis l'obtention de données à partir d'un service async à l'intérieur de mon contrôleur comme ceci:

myApp.controller('myController', ['$scope', 'AsyncService',
function($scope, AsyncService) {
    $scope.getData = function(query) {
        return AsyncService.query(query).then(function(response) {
            //Got success response, return promise
            return response;
        }, function(reason) {
            //Got error, query again in one second
            //???
        });
    }
}]);

Mes questions:

  1. Comment interroger à nouveau le service, lorsque je reçois l'erreur de service sans retour à la promesse.
  2. Serait-il mieux de le faire dans mon service?

Merci!

Oui, re-le-feu dans le service, de cette façon dans le contrôleur, vous pouvez tout simplement avoir l'résolu de données.
définir votre fonction et le nom de quelque chose. En rejet d'appel. Aussi simple que cela!
essayé de retourner $champ d'application.getData(requête) dans le contrôleur, mais la promesse n'est plus envoyé

OriginalL'auteur Angelin | 2013-10-25