Attendre la fin, après de multiples promesses en parallèle à l'aide de jQuery

Je veux la file d'attente de plusieurs asynchrone des requêtes ajax en utilisant différé/promesse de la mise en œuvre de jquery:

function doSomething() {
    console.log('doSomething')};

function makeMultiAjaxRequests1() {
    console.log('makeMultiAjaxRequests1')};

function makeMultiAjaxRequests2() {
    console.log('makeMultiAjaxRequests2')};

var step1 = function () { 
    var promise = new $.Deferred().promise();   
    makeMultiAjaxRequests1(); 
    return promise; }

var step2 = function () {
    var promise = new $.Deferred().promise();
    makeMultiAjaxRequests2();
    return promise; } 

step1()
   .then(step2())
   .done(doSomething());

$.when(step1(), 
       step2())
   .done(function () {
    doSomething();
});

Ici est la violon lien. Donc ma question est:

Dans le modèle où step1 et step2 sont exécutés en parallèle, le code n'est pas d'atteindre la dernière fonction de gestionnaire. Pourquoi?

Où en êtes-vous réellement la résolution de la promesse? Si vous ne déclenchent pas le gestionnaire, le rappel ne sera pas appelé...
Le Deferreds dans step1() et step2() ne sont jamais résolus.
Ya c'est vrai, mais ce qui est le cas dans le précédent exemple séquentiel? La promesse n'est pas résolu et encore à la fin du code.

OriginalL'auteur crishushu | 2013-12-09