Die dritte Funktion beinhaltet extra ein reject, welches einen Fehler verursachen soll.
app.service("TestService",function($q){
this.get = function () {
var deferred = $q.defer();
deferred.resolve("test 1");
return deferred.promise;
}
this.getTwo = function () {
var deferred = $q.defer();
deferred.resolve("test 2");
return deferred.promise;
}
this.getThree = function () {
var deferred = $q.defer();
deferred.reject("test 3");
return deferred.promise;
}
});
Erstelle einen Controller und rufe jede Funktion mit return auf
app.controller('HomeController', function(TestService) {
var vm = this;
TestService.get()
.then(function(res){
return TestService.getTwo();
})
.then(function(res){
return TestService.getThree();
})
.then(function(res){
console.log("nicht ");
})
.catch(function(err){
console.error(err);
});
});
Die Konsole sollte das result von Funktion 1 und 2 ausgeben und den Fehler Log der 3. Funktion, da wir in der 3. explizit einen Fehler zurückreichen.
Ersteller der Webseite MuchaDev. Selbstständiger IT Constultant für Frontend Technologien.