If a user types fast, you don’t want 10 simultaneous API calls. You should abort the previous one before starting a new search.
let controller = new AbortController();
fetch(url, { signal: controller.signal }).catch(e => {
if (e.name === 'AbortError') console.log('Request Cleaned Up!');
});
// To cancel:
controller.abort();
This saves server resources and prevents ‘Race Conditions’ where an old request finishes after a new one, showing stale data.
