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 に答える