この例では、new キーワードが、使用されている Router クラスの一意のインスタンスを作成しないのはなぜですか? 私の単純なルーターには解決される $deferred プロパティがあることがわかりますが、新しいクラスを作成して状態を再度テストしても、新しいクラスが作成されたときに「保留中」にリセットされるのではなく、解決されます。
var Router = Backbone.Router.extend({
$deferred: new $.Deferred(),
initialize: function () {
}
});
var router1 = new Router({});
$("#results").append(router1.$deferred.state() + "<br>"); //pending
router1.$deferred.resolve();
$("#results").append(router1.$deferred.state() + "<br>"); // resolved
var router2 = new Router({});
$("#results").append(router2.$deferred.state() + "<br>"); //resolved -- should be pending
router2.$deferred.resolve();
$("#results").append(router2.$deferred.state() + "<br>"); //resolved