var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.output = '\n';
var f = function(i) {
return Promise.method(function() {
$scope.output += 'test:'+i+'\n';
$scope.$applyAsync();
return i;
});
};
var tasks = [];
for (var i = 0; i < 10; i++) {
tasks.push(f(i));
}
$scope.go = function() {
$scope.output = '\n';
Promise.reduce(tasks, function(_, task) {
return task().delay(1000);
}, null);
}
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.14/angular.js" data-semver="1.3.14"></script>
<script data-require="bluebird@*" data-semver="1.2.2" src="http://cdnjs.cloudflare.com/ajax/libs/bluebird/1.2.2/bluebird.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<button ng-click="go()">Go</button>
<pre>
{{output}}
</pre>
</body>
</html>
/* Put your css in here */