Skip to content

Instantly share code, notes, and snippets.

@progmonster
Created May 14, 2014 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save progmonster/fd45331c15a6fa4b2c01 to your computer and use it in GitHub Desktop.
Save progmonster/fd45331c15a6fa4b2c01 to your computer and use it in GitHub Desktop.
Example of AngularJS promises
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<script src="js/index.js"></script>
</head>
<body>
<div ng-controller="TestController">
<input type="button" value="click" ng-click="test()">
<p>task 1 {{task1Status}}</p>
<p>task 2 {{task2Status}}</p>
<p>task 3 {{task3Status}}</p>
<p>all task {{allTaskStatus}}</p>
</div>
</body>
</html>
var app = angular.module('app', []);
app.controller('TestController', function($scope, $q) {
$scope.test = function() {
var deferred1 = $q.defer();
var deferred2 = $q.defer();
var deferred3 = $q.defer();
setTimeout(function() {
$scope.task1Status = "Done";
deferred1.resolve();
}, 5000);
setTimeout(function() {
$scope.task2Status = "Done";
deferred2.resolve();
}, 10000);
setTimeout(function() {
$scope.task3Status = "Done";
deferred3.resolve();
}, 15000);
$q.all([deferred1.promise, deferred2.promise, deferred3.promise])
.then(function(res) {
$scope.allTaskStatus = "Done";
}, function(err) {
});
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment