Delayed Response (Test Timeouts)

Request a delayed response to test timeout handling with AbortController.

Code

Utilities
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 5000);

const start = Date.now();
const response = await fetch(`https://httpbin.org/delay/${delaySeconds}`, {
  signal: controller.signal
});
clearTimeout(timeoutId);

const duration = Date.now() - start;
({ duration: Math.round(duration / 1000), data: await response.json() });

Parameters

Delay in seconds (max 10).

Browser·fetch() may be limited by CORS

Timeout Pattern

// Abort after 3 seconds
const controller = new AbortController();
setTimeout(() => controller.abort(), 3000);

try {
  const response = await fetch(url, { signal: controller.signal });
} catch (err) {
  if (err.name === 'AbortError') {
    console.log('Request timed out');
  }
}

More JavaScript Snippets