AbortController
JavaScript 🟡 MidDefinition
API pour annuler des operations asynchrones (fetch, event listeners, streams). Cree un signal qui peut etre passe a n'importe quelle API supportant l'annulation.
Analogie
Un bouton d'arret d'urgence : tu peux stopper une operation en cours a tout moment.
Exemple de code
const controller = new AbortController();
fetch('/api/data', { signal: controller.signal })
.catch(err => {
if (err.name === 'AbortError') console.log('Annule');
});
// Annuler apres 5s
setTimeout(() => controller.abort(), 5000);
Cas d'usage
Timeout de requetes fetch, annulation lors du demontage d'un composant React, cleanup de listeners.
Anti-pattern
Ne jamais annuler les fetch dans les useEffect React, provoquant des memory leaks.