UNPKG

askui

Version:

Reliable, automated end-to-end-testing that depends on what is shown on your screen instead of the technology you are running on

22 lines (21 loc) 783 B
/** * ExponentialRetryStrategy implements a retry strategy that uses an exponential backoff algorithm. */ export class ExponentialRetryStrategy { /** * @param baseDelayMs - The initial delay before the first retry (default is 1000ms) * @param retryCount - The maximum number of retries (default is 3) */ constructor(baseDelayMs = 1000, retryCount = 3) { this.baseDelayMs = baseDelayMs; this.retryCount = retryCount; } /** * Calculates the delay for a given retry attempt using exponential backoff. * @param attempt - The current retry attempt number (0-based) * @returns The delay in milliseconds for the current attempt */ getDelay(attempt) { return this.baseDelayMs * (Math.pow(2, attempt)); } }