@napolux/please-wait
v0.1.0
Published
TypeScript utility to pause async execution - eliminate Promise/setTimeout boilerplate from your delays
Maintainers
Readme
@napolux/please-wait
TypeScript utility to pause async execution - eliminate Promise / setTimeout boilerplate from your delays.
Installation
npm install @napolux/please-waityarn add @napolux/please-waitUsage
import wait, { DEFAULT_WAIT_MS, waitSeconds } from "@napolux/please-wait";
// Wait 1 second (default)
await wait();
// Wait 2 seconds
await wait(2000);
// Wait using the exported default constant
await wait(DEFAULT_WAIT_MS);
// Wait 3 seconds using the seconds helper
await waitSeconds(3);Practical example - retry loop
import wait from "@napolux/please-wait";
async function fetchWithRetry(url: string, retries = 3): Promise<Response> {
for (let attempt = 1; attempt <= retries; attempt++) {
try {
const response = await fetch(url);
if (response.ok) return response;
} catch {
// ignore and retry
}
if (attempt < retries) {
console.log(`Attempt ${attempt} failed, retrying…`);
await wait(1000 * attempt); // incremental back-off
}
}
throw new Error(`Failed after ${retries} attempts`);
}API
wait(ms?: number): Promise<void>
Pauses execution for ms milliseconds (defaults to 1000).
waitSeconds(seconds?: number): Promise<void>
Pauses execution for seconds seconds (defaults to 1).
DEFAULT_WAIT_MS
The default wait time in milliseconds (1000).
Compatibility
Works with TypeScript and JavaScript (ESM and CommonJS), Node.js and browsers.
License
MIT
