Chapter 8: Chaining promises and promise handlers
HTML
<script src="https://code.angularjs.org/1.3.2/angular.min.js"></script>
<div ng-app="myApp">
<div ng-controller="Ctrl"></div>
</div>
JavaScript
angular.module('myApp', [])
.controller('Ctrl', function ($q, $log) {
var deferred = $q.defer()
, promise = deferred.promise;
promise
.then(function () {
// initial promise resolved handler instructs handlers
// child promise(s) to be rejected
$log.log('a');
return $q.reject(123);
})
.then(
// child promise resolved handler
function(data) {
$log.log('b');
$log.log("resolved", data);
},
// child promise rejected handler
function(data) {
$log.log('c');
$log.log("rejected", data);
}
);
deferred.resolve();
// "rejected", 123
});