AngularJS Example:

by Ztyx

HTML

<div ng-app="telavox.test">
    <div data-ng-controller="MyController">
        {{loadingString}}
    </div>
</div>

CSS

</style> <!-- Ugly Hack due to jsFiddle issue: http://goo.gl/BUfGZ --> 
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<style>

JavaScript

angular.module('telavox.test', [])
.controller('MyController', function($scope, $q, $timeout) {
    // Initial tab selection
    $scope.loadingString='Loading...';
    
    var loadingFetch = $q.defer();
    var loadingPromise = loadingFetch.promise;
    
    var loadingFetch2 = $q.defer();
    var loadingPromise2 = loadingFetch2.promise;
    
    $q.all([loadingPromise, loadingPromise2]).then(function(data) {
        $scope.loadingString = data[0] + ' ' + data[1];
    }, function(failedLoadingReason) {
        $scope.loadingString = "Fail: " + failedLoadingReason;
    });
    
    $timeout(function() {
        loadingFetch.resolve("Loaded!");
    }, 3000);
    $timeout(function() {
        loadingFetch2.resolve("This one loaded, too!");
    }, 5000);
});