WSAPI查询导致无限请求循环

时间:2012-12-13 18:28:49

标签: javascript sdk rally

我使用WsapiDataStore请求创建了数据查询。当服务器返回数据时,loadPages调用工作正常;但是当没有符合过滤条件的数据时,loadPages方法似乎向服务器发出无限数量的请求,我可以通过控制台看到。我尝试检查没有返回数据然后使用clearListeners方法来停止请求循环,但是在调用之后似乎没有发生任何事情。如果第一个请求没有返回数据,是否有一种简单的方法可以停止请求信息?

1 个答案:

答案 0 :(得分:0)

看起来必须在实际的loadPages对象上进行clearListeners调用,而不是对存储加载器本身进行调用。我发现避免无限循环问题的最好方法是像这样构建调用:

var StoreLoader = Ext.create('Rally.data.WsapiDataStore', {
    // Properties and filters...
    listeners: {
        load: function(model, data) {
            if (data && data.length) {
                // Process data from store
            } else {
                PageLoader.clearListeners();
            }
        }
    }
});

var PageLoader = storeLoader.loadPages({
    callback: function() {
        //Do whatever after the store has been loaded
    }
});