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

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 に答える