@huddle01/web-core
Version:
The Huddle01 Javascript SDK offers a comprehensive suite of methods and event listeners that allow for seamless real-time audio and video communication with minimal coding required.
25 lines (21 loc) • 644 B
JavaScript
;
require('../chunk-N254NRHT.cjs');
// src/common-js/retryAsyncWithBackoff.ts
var retryAsyncWithBackof = async (func, maxRetries = 5, initialDelay = 1e3, maxDelay = 16e3) => {
let attempts = 0;
let delay = initialDelay;
const execute = async () => {
try {
return await func();
} catch (error) {
if (++attempts > maxRetries) {
throw new Error("All retries failed");
}
await new Promise((resolve) => setTimeout(resolve, delay));
delay = Math.min(delay * 2, maxDelay);
return execute();
}
};
return execute();
};
exports.retryAsyncWithBackof = retryAsyncWithBackof;