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.