@creejs/commons-retrier
Version:
Common Utils About Task Retrying
30 lines (29 loc) • 1.14 kB
TypeScript
export default class Task {
/**
* Creates a new Task instance.
* @param {Retrier} retrier - The retrier instance.
* @param {Function} task - The function to be executed as the task.
*/
constructor(retrier: Retrier, task: Function);
retrier: import("./retrier.js").default;
task: Function;
result: any;
/** @type {Error|undefined} */
error: Error | undefined;
get failed(): boolean;
get succeeded(): boolean;
/**
* Executes the task with the given retry parameters.
* 1. if execution throw error, keep error in this.error
* 2. if execution return value, keep it in this.result
* 3. always return Promise<void>
* @param {number} retries - The number of retries attempted so far.
* @param {number} latence - The current latency ms.
* @param {number} nextInterval - The next interval ms.
* @returns {Promise<void>} The result of the task execution.
*/
execute(retries: number, latence: number, nextInterval: number): Promise<void>;
dispose(): void;
}
export { Task as TaskType };
export type Retrier = import("./retrier.js").default;