Javascript 我如何在何时和之后将两个主干提取调用与JQuery同步

Javascript 我如何在何时和之后将两个主干提取调用与JQuery同步,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我在jquery中发现了一件很酷的事情: 你可以做: $.when([$.get(..), $.ajax(...), $.getJSON(...)]).then(function(data1,data2,data3){ // code to run when all requests are done }); 当您想要同步许多ajax调用时,这非常好 在主干网中,每次获取模型或集合时都会发出ajax调用: cardsCollection.fetch(); 我

我在jquery中发现了一件很酷的事情: 你可以做:

$.when([$.get(..), $.ajax(...), $.getJSON(...)]).then(function(data1,data2,data3){
         // code to run when all requests are done
        });
当您想要同步许多ajax调用时,这非常好

在主干网中,每次获取模型或集合时都会发出ajax调用:

cardsCollection.fetch();
我的问题是如何通过主干模型/集合获取实现类似的同步功能:

我想做一些类似的事情:

$.when([series.fetch(), cardsCollection.fetch()]).then(function(){
            cardsListView.seriesID = seriesID;
            cardsListView.seriesName = series.get('seriesName');
            cardsListView.template = _.template(CardsListTemplate);
            cardsListView.render();
            $('#loader').hide();
        });
可能吗


tnx-)

$。当
不接受数组时,您需要使用
。使用
$应用
。当

$.when.apply($,[series.fetch(), cardsCollection.fetch()]).done(dostuff);
但是,
series.fetch()
cardsCollection.fetch()
必须返回延迟对象


如果您不使用
.apply
,它将立即解决,因为您没有给它一个延迟对象。

是的,这是可能的。只需将几个延迟传递到
jQuery.when
$.when(series.fetch(),cardsCollection.fetch())。然后(…)

不清楚解决方案是什么,请提供一个代码示例。@drogon,对不起,我不确定您想看到什么代码。通过使用jQuery.Deferred,您试图实现什么?工作非常出色,非常优雅。谢谢