const controller = new AbortController();
const signal = controller.signal;
fetch('https://api.example.com/data', { signal })
.then(response => {
// handle response
})
.catch(error => {
if (error.name === 'AbortError') {
// Request was aborted
console.log('Request aborted');
} else {
// Handle other errors
console.error('Error:', error);
}
});
// To cancel the request:
controller.abort();
- Cancel the fetch() request if it don’t happen in sometime,
const controller = new AbortController();
const signal = controller.signal;
const timeout = setTimeout(() => {
controller.abort();
console.log('Request timed out');
}, 5000); // 5000 milliseconds = 5 seconds
fetch('https://api.example.com/data', { signal })
.then(response => {
// handle response
clearTimeout(timeout); // Cancel the timeout if the request succeeds
})
.catch(error => {
if (error.name === 'AbortError') {
// Request was aborted due to timeout
console.log('Request aborted due to timeout');
} else {
// Handle other errors
console.error('Error:', error);
}
});