UNPKG

@cch137/format-utils

Version:

A collection of utility modules for formatting and processing data

27 lines (26 loc) 712 B
export default async function sleep(ms, { signal } = {}) { return new Promise((resolve, reject) => { const timeout = setTimeout(resolve, ms); if (signal) { signal.addEventListener("abort", (e) => { clearTimeout(timeout); reject(signal.reason); }, { once: true }); } }); } export function asyncDelay(func, durationMs) { if (!durationMs) return func; return (async (...args) => { const timer = sleep(durationMs, {}); try { const result = await func(...args); await timer; return result; } catch (e) { throw e; } }); }