如何使用JQuery WHEN和THEN同步两个Backbone fetch调用

Guy*_*Guy 4 javascript jquery backbone.js

我在jquery中找到了一个很酷的东西:你可以这样做:

$.when([$.get(..), $.ajax(...), $.getJSON(...)]).then(function(data1,data2,data3){
         // code to run when all requests are done
        });
Run Code Online (Sandbox Code Playgroud)

当你想同步许多ajax调用时,这很好.

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

cardsCollection.fetch();
Run Code Online (Sandbox Code Playgroud)

我的问题是如何通过骨干模型/集合获取实现类似的同步功能:

我想做的事情如下:

$.when([series.fetch(), cardsCollection.fetch()]).then(function(){
            cardsListView.seriesID = seriesID;
            cardsListView.seriesName = series.get('seriesName');
            cardsListView.template = _.template(CardsListTemplate);
            cardsListView.render();
            $('#loader').hide();
        });
Run Code Online (Sandbox Code Playgroud)

可能吗?

TNX.;-)

the*_*heo 6

是的,这是可能的.只需传递几个延迟到jQuery.when:$.when(series.fetch(), cardsCollection.fetch()).then(...)