Skip to content

Instantly share code, notes, and snippets.

@victorwpbastos
Created October 11, 2017 16:57
Show Gist options
  • Save victorwpbastos/89567fbfcbd27d37b6f2189754ea25fd to your computer and use it in GitHub Desktop.
Save victorwpbastos/89567fbfcbd27d37b6f2189754ea25fd to your computer and use it in GitHub Desktop.
Ajax retry
$.ajaxPrefilter((options, originalOptions, jqXHR) => {
let dfd = $.Deferred();
if (options.resolved) {
this.showLogin = false;
return;
}
jqXHR.done(dfd.resolve);
jqXHR.fail(() => {
if (jqXHR.status === 401) {
let opts = Object.assign({}, originalOptions, { resolved: true });
this.lastRequest = { promise: dfd, options: opts };
this.showLogin = true;
} else {
dfd.reject(jqXHR);
}
});
return dfd.promise(jqXHR);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment