Parallel promises

HTML

<div id="content"></div>

JavaScript

var promises = [];

for (var p = 0; p < 10; p++)
{
    promises.push(buildPromise(p));
}

$.when.apply($, promises).then( function () {
    for(var i = 0; i < arguments.length; i++) {
        $('#content').append('<p>' + arguments[i].name + '</p>');
    }
})
.then(function(results){
	return finalPromise();
})
.then(function(result){
    alert('success: ' + result.success);
	alert('Finished');
});

function buildPromise(id)
{
	var deferred = $.Deferred();
    
    setTimeout(function(){
        var data = {id: id, name: 'name: ' + id};
  		deferred.resolve(data);
	}, 10000);
 
    return deferred.promise();
}

function finalPromise()
{
	var deferred = $.Deferred();
    
    setTimeout(function(){
        var data = { success: true };
  		deferred.resolve(data);
	}, 1000);
    
    return deferred.promise();
    
}