@geersch/retry
Version:
Backoff strategies to use when retrying a function after a given delay.
16 lines • 538 B
JavaScript
import { randomBetween } from './utils.js';
export class EqualJitterBackoffStrategy {
baseDelay;
constructor({ baseDelay = 100 } = {}) {
this.baseDelay = baseDelay;
}
*getGenerator(maxRetries) {
let attempt = 1;
while (attempt <= maxRetries) {
const exponentialDelay = this.baseDelay * 2 ** attempt;
yield exponentialDelay / 2 + randomBetween(0, exponentialDelay / 2 + 1);
attempt += 1;
}
}
}
//# sourceMappingURL=equal-jitter.backoff-strategy.js.map