我已经使用WsapiDataStore请求创建了一个数据查询。当服务器返回数据时,loadPages调用可以正常工作;但是当没有符合过滤条件的数据时,loadPages方法似乎会向服务器发出无限多的请求,我可以通过控制台看到这些请求。我尝试检查是否没有返回任何数据,然后使用clearListeners方法停止请求循环,但在进行调用后似乎没有任何反应。如果第一个请求没有返回数据,有没有一种简单的方法来停止请求信息?
发布于 2012-12-18 01:52:56
看起来必须在实际的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
}
});https://stackoverflow.com/questions/13866127
复制相似问题