s3-file-manager
Version:
A streamlined, high-level S3 client for Node.js with built-in retries and support for uploads, downloads, and file operations — works with any S3-compatible storage.
10 lines (9 loc) • 347 B
JavaScript
const BASE_DELAY_MS = 100;
export const wait = async (ms) => {
return new Promise((resolve) => setTimeout(resolve, ms));
};
export function backoffDelay(attempt, cap = 10_000) {
const exp = Math.min(cap, BASE_DELAY_MS * 2 ** (attempt - 1));
// jitter between exp/2 and exp
return Math.floor(exp / 2 + Math.random() * (exp / 2));
}