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" ng-controller="Ctrl" />
JavaScript
angular.module('myApp', [])
.controller('Ctrl', function ($q, $log) {
var deferred = $q.defer()
, promise = deferred.promise;
promise
.then(
// resolved handler
function() {
$log.log('success');
},
// empty rejected handler
null,
// notification handler
$log.log
);
function resolveWithProgressNotifications() {
for (var i=0; i<=100; i+=20) {
// pass the data to the notification handler
deferred.notify(i);
if (i>=100) { deferred.resolve() };
};
}
resolveWithProgressNotifications();
// 0
// 20
// 40
// 60
// 80
// 100
// "success"
});