Ich fand diesen PLNKR-Link im Web, aber ich brauche ihn mit 2 oder 3 weiteren AJAX-Aufrufen, die kein Argument vom ersten AJAX-Aufruf erfordern. Wie kann ich es mit der Fehlerbehandlung machen?Wie kann ich die angularjs-Versprechungskette in einem Service und Controller verwenden?
var app = angular.module("app", []);
app.service("githubService", function($http, $q) {
var deferred = $q.defer();
this.getAccount = function() {
return $http.get('https://api.github.com/users/haroldrv')
.then(function(response) {
// promise is fulfilled
deferred.resolve(response.data);
return deferred.promise;
}, function(response) {
// the following line rejects the promise
deferred.reject(response);
return deferred.promise;
});
};
});
app.controller("promiseController", function($scope, $q, githubService) {
githubService.getAccount()
.then(
function(result) {
// promise was fullfilled (regardless of outcome)
// checks for information will be peformed here
$scope.account = result;
},
function(error) {
// handle errors here
console.log(error.statusText);
}
);
});
http://plnkr.co/edit/kACAcbCUIGSLRHV0qojK?p=preview
Geben Sie uns mehr Details über 'verschiedene Ajax calls' – WorkWe
@WorkWe ich mehr meine, nicht anders, ich habe die Frage jetzt behoben. – Sam
können Sie '$ q.all' verwenden, um zu warten, bis alle Versprechen gelöst sind wie' $ q.all ([promise1, promise2]). Dann (funtion (data) {// Erfolg}) ' –