base.js | |
|---|---|
Recline BackendsBackends are connectors to backend data sources and stores This is just the base module containing various convenience methods. | this.recline = this.recline || {};
this.recline.Backend = this.recline.Backend || {};
(function($, my) { |
Backbone.syncOverride Backbone.sync to hand off to sync function in relevant backend | Backbone.sync = function(method, model, options) {
return model.backend.sync(method, model, options);
} |
wrapInTimeoutCrude way to catch backend errors Many of backends use JSONP and so will not get error messages and this is a crude way to catch those errors. | my.wrapInTimeout = function(ourFunction) {
var dfd = $.Deferred();
var timeout = 5000;
var timer = setTimeout(function() {
dfd.reject({
message: 'Request Error: Backend did not respond after ' + (timeout / 1000) + ' seconds'
});
}, timeout);
ourFunction.done(function(arguments) {
clearTimeout(timer);
dfd.resolve(arguments);
})
.fail(function(arguments) {
clearTimeout(timer);
dfd.reject(arguments);
})
;
return dfd.promise();
}
}(jQuery, this.recline.Backend));
|