Add a timeout to any promise, rejecting with an error if the operation takes too long.
Code
Boilerplatesconst withTimeout = (promise, ms) => Promise.race([
promise,
new Promise((_, reject) =>
setTimeout(() => reject(new Error('Timeout')), ms)
)
]);
const fast = new Promise(r => setTimeout(() => r('completed'), 10));
return await withTimeout(fast, 1000);Browser·fetch() may be limited by CORS
More JavaScript Snippets
Debounce
Create a debounced function that delays execution until after a specified wait period has elapsed since the last call.
Memoize
Cache function results to avoid redundant calculations and improve performance for expensive operations.
Once
Create a function that can only be called once, returning the cached result for subsequent invocations.
Parallel with Limit
Run promises in parallel with a concurrency limit to control resource usage and prevent overwhelming external services.
Promise.allSettled
Wait for all promises to settle, whether they resolve or reject.
Promise.any
Return the result of the first promise that resolves successfully.