Javascript Backbone.js:如何将挂起的同步事件排队到服务器?

Javascript Backbone.js:如何将挂起的同步事件排队到服务器?,javascript,backbone.js,Javascript,Backbone.js,我希望我的基于Backbone.js的web应用程序能够脱机运行。在检测到脱机状态时,如何将主干网的同步事件排队,以便在连接恢复后将其发送到服务器?您可以使用两种主干网同步方法,并根据脱机/联机状态将其调出: // Detect sync however you want here var state = getInternetConnectivityState(); // Save off a local copy of the default Backbone.sync var ajaxS

我希望我的基于Backbone.js的web应用程序能够脱机运行。在检测到脱机状态时,如何将主干网的同步事件排队,以便在连接恢复后将其发送到服务器?

您可以使用两种主干网同步方法,并根据脱机/联机状态将其调出:

// Detect sync however you want here
var state = getInternetConnectivityState();

// Save off a local copy of the default Backbone.sync
var ajaxSync = Backbone.sync;

// Create a new Backbone.sync function that works with local storage. I would suggest
// using store.js as it works x-browser, takes care of JSON serialization and is well  
// supported
var localSync = function(method, model, options) {
    if ('GET' === method) {
        model.set('name', store.get(model.id).name);
    }
    ...
}

Backbone.sync = function() {
    if ('offline' === getInternetConnectivityState()) {
        localSync.call(this, arguments);
    }
    else {
        ajaxSync.call(this, arguments);
    }
}
看看这些: