npm install --save backbone-ajaxretry
In your client app main.js
, add the following line to default retry settings:
require('backbone-ajaxretry');
Or override any of the default settings using set
: passing keyword arguments
require('backbone-ajaxretry').set({ y:0.3 });
The default settings are:
{
base: 2.718281828,
y: 0.25,
retryCount: 3,
onlyBackbone: false
}
By default both Backbone.ajax
and $.ajax
Server Errors are retried. To only retry Backbone.ajax
requests and not also [regular] $.ajax
requests, change the onlyBackbone
default setting to true
.
For Backbone.js sync, fetch, save or destroy, pass exhaust
in the options object as a callback function to run when retries fail
- please note that
exhaust
supersedes theerror
callback - if
exhaust
method is not passed, retries will end without further action - the returned
jqXHR
object has been extended with the ajax request options,
thus allowingjqXHR.type
,jqXHR.url
, etcetera
// Backbone ex.
myModel.fetch({
exhaust : function (jqXHR, textStatus, errorThrown) {
// Handle Internal Server Error
}
});
// $.ajax ex.
$.ajax({
url: '/test',
type: 'GET',
exhaust : function (jqXHR, textStatus, errorThrown) {
// Handle Internal Server Error
}
});
- Changelog >>> releases
- Dependency: Underscore.js
- Implied: