Do you know what is AbortConroller?
It is a Web API provided by DOM Standard.
The "AbortController" interface represents a Controller object that allows you to abort one or more Web requests as and when desired.
Properties: signal
It returns "AbortSignal" object instance to communicate with DOM request
const controller = new AbortController();
const signal = controller.signal;
Controller has one method:
controller.abort();
When you abort an async operation, the promise rejects with a DOMException named "AbortError"
Do checkout the code snippet where it is aborting the request if it takes more than 3 seconds.
//create a new AbortController object 
const controller = new AbortController();
const options = {
  method: 'POST',
  signal: controller.signal, 
  body: JSON.stringify({
    name:'Varun',
    work:'Dev'
  })
};  
// Abord the request after 3 seconds
setTimeout(() => controller.abort(), 3000);
//Send API Request to the server
fetch('/saveUser', options)
.then(response => {
  console.log(response.status);
})
.catch(error => console.error('Request Timeout'));
So what's the other alternative? Do share in comments.
 
 
    
Top comments (0)