2

我正在尝试使用sync以下内容构建 Backbone 的自定义替换:

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

1 回答 1

5

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

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

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

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

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

于 2012-11-12T16:19:54.513 回答