2017-07-05 5 views
0

Ich rufe Service saveRouteInfo(), aber nur Erfolg Rückruf wird sowohl für Fehler und Erfolg in der Steuerung aufgerufen.Angular Service gibt keine Fehlerantwort zurück

Dienst

gisApp.factory('rpServc', function($http) { 
     return { 
      saveRouteInfo:function(routeInfo){ 
       return $http.post("/GISWebApp/gis/api/v1/route",routeInfo).then(
        function(response) 
        { 
         return response.data;   
        }, function(response) { 
         return response.data; 
        }); 
      }, 
     }; 
}); 

Controller

rpServc.saveRouteInfo(routeInfo).then(function(data) { 
    alert(JSON.stringify(data)); 

}, function(error) { 
    alert(JSON.stringify(error)); 
}); 
+0

https://jsfiddle.net/0trpgxm8/1/ –

Antwort

0

Verwenden $ q

gisApp.factory('rpServc', function($http, $q) { 
     var deferred = $q.defer(); 
     return { 
      saveRouteInfo:function(routeInfo){ 
       return $http.post("/GISWebApp/gis/api/v1/route", routeInfo). 
       then(function(response) { 
        return response;   
       }, function(reason) { 
        return $q.reject(reason); 
       }); 
      }, 
     }; 
    }); 
+0

Erfolg seit v1.5 ist in AngularJS veraltet. Bitte vermeide es zu benutzen. – digit

+0

Aktualisierte Antwort durch Löschen des Erfolges – Veera

0

Sie die p $q angular promises documentation

und kehren entweder aufgelöst oder abgelehnt lesen sollten Romise, also können Sie die zurückgewiesenen in der .then() zweiten Funktion fangen.

Verwandte Themen