自定义骨干同步

时间:2012-11-12 16:03:39

标签: backbone.js sync

我正在尝试使用以下内容构建Backbone的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来处理返回,但我似乎无法让它工作。

1 个答案:

答案 0 :(得分:5)

Fetches通常是异步的,因此您应该将您的响应返回到options.success函数:

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

Backbone使用options.success函数将响应应用到Model上。您还可以提供自己的options.success功能:

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

请注意,Backbone现在将运行您的自定义成功函数,然后运行自己的函数。

相关问题