@altipla/fetch-timeout
v0.1.4
Published
Implement timeout and cancellation on top of node-fetch or standard fetch.
Downloads
50
Readme
fetch-timeout
Implement timeout and cancellation on top of node-fetch or standard fetch.
Install
npm install fetch-timeout
Usage
Replace any call to fetch
with our helper fetchTimeout
. Types are compatible as we only add a new option timeout
that can be added when needed.
With no timeout (normal fetch)
let reply = await fetch('https://www.example.com/', {
method: 'POST',
body: '...',
headers: { ... },
})
With a timeout
let reply = await fetch('https://www.example.com/', {
method: 'POST',
body: '...',
headers: { ... },
timeout: 30000, // milliseconds
})
With a timeout and a cancel signal combined
let ctrl = new AbortController()
abortButton.addEventListener('click', () => ctrl.abort())
let reply = await fetch('https://www.example.com/', {
method: 'POST',
body: '...',
headers: { ... },
timeout: 30000,
signal: controller.signal,
})
Check if there was a timeout
try {
let reply = await fetch('https://www.example.com/', {
timeout: 5000,
})
} catch (err: any) {
if (err.name === 'AbortError') {
...
}
}