2012-11-12 73 views
2

我試圖建立一個自定義更換骨幹sync與類似如下:定製骨幹同步

function getStuff(){ 
    return {"id":"1","name":"Joe"}; 
} 

那麼對於Backbone.sync我:

Backbone.sync = function(method, model, options) { 

    switch(method){ 

     case 'read': 
      getStuff(); 
      break; 

     ...More cases... 

我通過幾個看着在替換同步後,我知道我需要使用options來處理回報,但我似乎無法得到它的工作。

回答

4

取操作通常是異步,所以你應該回到你的應對options.success功能:

sync : function(method, model, options) { 
    if (method == 'read') { 
     var yourResponse = getStuff(); 
     options.success && options.success(yourResponse); 
    } 
} 

骨幹使用options.success功能應用到模型的響應。您也可以提供自己的options.success功能:

yourModel.fetch({ 
    success : function(response) { 
     // use response 
    } 
}); 

注意,骨幹將現在運行您的自定義成功函數,然後它自己的功能。

+0

謝謝,看起來我正在反思它 - 最終只是需要將它送回選項。 – Fluidbyte