Obiekt odroczony jQuery z zagnieżdżonymi wywołaniami ajax

Mam sytuację, w której moje wywołania ajax muszą działać w określonej kolejności. Użyłem obiektów jQuery Deferred w innych sytuacjach, ale nie mogę znaleźć sposobu, aby to odpowiednio się zachowywało.

Mam funkcję, która wykonuje wieleajax prośby w swoim życiu. Niektóre żądania zostaną wykonane podczas wywołania zwrotnego innych żądań.

Moje pytanie:czy istnieje sposób na zwrócenie wszystkich zagnieżdżonych obiektów odroczonych do oryginału$.when połączenie?

Uproszczonym przykładem byłoby:

function nestedAjax() {
    $.get("/", function(){
        console.log("First ajax done.");
        $.get("/", function(){
            console.log("Second ajax done.");
        });
    });
};

Próbuję miećnestedAjax funkcja do użycia$.when() i$.done() w ten sposób:

$.when(nestedAjax()).done(function(){
    console.log("Complete");
});​

Przy odczycie wyjścia konsoli:

> First ajax done.
> Second ajax done.
> Complete.

Mogę zwrócić pierwszyget osiągnąć to:

> First ajax done.
> Complete.
> Second ajax done.

Ale oczywiście nie tego potrzebuję. Każda pomoc byłaby doceniana.

questionAnswers(3)

yourAnswerToTheQuestion