1

磁盘是我的收藏对象。我需要停止获取集合

customPoll: function(time){
          var set_time = 0;
            if(time === undefined){
                set_time = 4000;
            }
            var route = Backbone.history.fragment.split('/');
            var self = this;
            if(route[0] === "disks"){
                setTimeout(function() {
                    Disks.fetch({update:true,success: function(){
                        self.customPoll();
                    }, error: function(){
                        self.customPoll();
                    }
                    });
                }, set_time); //TODO Need to handle efficiently...
            }  
        }

如果存在某些条件,我试图每 4 秒调用一次此提取,否则我需要停止调用此提取。

    var route = Backbone.history.fragment.split('/');
            var smart = new Smart.model({
                "id"    : route[1]
            });
            var self = this;
    smart.save(null,{
                    success: function(model,event,response){
                        model =  Disks.get(route[1]).toJSON();
                        $('#smart-confirm-dialog').modal('hide'); 
                        self.showStatusMsg(1,"<b> S.M.A.R.T. Test : </b>S.M.A.R.T Test started succesfully");
                        if(model.smart.progress === "100%"){
                            self.clearAllTimeout();
                            alert("please stop fetching....pleaseeee");
                            // Stop polling here . then fetch information from smart.fetch api.
                           Smart.fetch({update: true}); //this is another api i need to call this api now.
                        }else{
                            self.customPoll();
                        }
});

但它似乎不起作用......它继续获取集合..我怎样才能停止这个磁盘集合获取。

4

1 回答 1

1

我的回答可能很有趣,我想添加评论,但我不能。您可以在模型中添加新字段吗?

customPoll: function(time){
   var  disks = this.model.toJSON();
   if(disks.yourField){
       // here your code
   }
}

但在保存模型之前需要做 delete disks.yourField;

于 2013-02-28T11:03:42.943 回答