2012-01-12 67 views
1

創建新集合時,會自動調用fetch一次。這給了我「第一頁」,以及下一頁的URL +一定數量的條目。現在,我需要做的是通過重複調用fetch直到下一頁字段未定義爲止填充此集合(全部一次,在開始時)。backbone.js集合 - 重複調用獲取以從服務器獲取所有「頁面」

我該怎麼做?看起來如果我用回調(成功)函數調用fetch,它只會調用那個ONCE。因此,如下所示:

fetch(success: function() { 
if (condition) 
    fetch again 
}); 

它不會重複呼叫fetch(直到條件爲false)。相反,它會調用一次,並且由於「獲取再次」部分沒有在成功函數中傳遞,它沒有回調?

我該如何解決這個問題?什麼是最好的方法?謝謝!

回答

4

只需命名該函數並將其傳遞給內部調用即可。

實施例(從視圖):

var self = this; 
self.collection.fetch({ success: function success() { 
    if (condition) { 
    self.collection.fetch({ success: success }); 
    } 
}}); 

HERE就是一個例子。

+0

很好的答案,謝謝! – user809240 2012-01-12 05:33:42