1

我试过用backboneJS做这个:

$.when(cardsCollection.fetch(),series.fetch())
              .done(function(){
                cardsListView.series = series;
                cardsListView.template = _.template(CardsListTemplate);
                cardsListView.render();
            }).fail(function(){
                cardsListView.series = new Series({seriesID:0,seriesName:""});
                cardsListView.template = _.template(CardsListTemplate);
                cardsListView.render();
                });

我错过了示例中的失败回调参数。但是,我的意图是检查哪个获取失败,以及是否是该系列继续使用假数据。

JQuery 可以延迟吗?

4

1 回答 1

2

你可以使用deferred.state()

 cardsCollectionPromise = cardsCollection.fetch();
 seriesPromise = series.fetch();
 $.when(cardsCollectionPromise, seriesPromise)
          .done(function(){
        // ...
        }).fail(function(){
            if (cardsCollectionPromise.state() === 'rejected') {
               // ...
            },
            else (seriesPromise.state() === 'rejected') {
              // ...
            }
            });
于 2012-06-05T18:38:00.790 回答