Fetching & Displaying Data

What is the purpose of the AbortController when making fetch requests?
const controller = new AbortController();
const { signal } = controller;

fetch('/api/data', { signal })
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(err => {
    if (err.name === 'AbortError') {
      console.log('Fetch aborted');
    } else {
      console.error('Other error:', err);
    }
  });

// Abort the fetch after 5 seconds
setTimeout(() => controller.abort(), 5000);
Next Question (4/20)