2012-12-13 44 views
1

我已經使用WsapiDataStore請求創建了對數據的查詢。當服務器返回數據時,loadPages調用工作正常;但是當沒有符合過濾條件的數據時,loadPages方法似乎向服務器發出無限數量的請求,我可以通過控制檯看到這些請求。我試着檢查沒有數據被返回,然後使用clearListeners方法來停止請求循環,但在調用後沒有任何事情發生。如果第一個請求沒有返回任何數據,是否有簡單的方法來停止請求信息?WSAPI無限請求循環中的查詢結果

+0

這聽起來像一個討厭的缺陷。我將調查並提出缺陷,以便根據需要跟蹤此問題。你能分享你正在使用的WsapiDataStore代碼是否會導致這種行爲? –

回答

0

看起來像clearListeners調用必須在實際的loadPages對象上進行,而不是存儲加載器本身。我發現避免無限循環問題的最好方法是像這樣構造呼叫:

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 
    } 
});