Works with any backend npm install Zero dependencies

Retry with Backoff Strategy

Compare linear vs. exponential backoff strategies for failed upload retries.

(function() {
 var logEl = document.getElementById('log');
 function log(m) { var d = document.createElement('div'); d.className='pkg-log-entry'; d.textContent=m; logEl.appendChild(d); logEl.scrollTop=logEl.scrollHeight; }
 new MultipleUpload('#demo', {
 uploadUrl: '/api/upload',
 multiple: true,
 retries: 3,
 retryDelay: 1000,
 retryBackoff: 'exponential',
 onTaskRetry: function(task) {
 var delay = 1000 * Math.pow(2, task.retryCount - 1);
 log('Retry #' + task.retryCount + ' for ' + task.fileName + ' after ~' + delay + 'ms');
 },
 onTaskError: function(task, err) {
 log('Failed: ' + task.fileName + ' - ' + err);
 }
 });
})();