Patrones de cancelación en TypeScript: domando AbortController

La mayor parte del código asíncrono en una base de código típica de TypeScript no tiene ningún concepto de "detener". Un usuario navega a otra página, una petición expira, una operación padre falla — y el fetch en curso, la consulta a la base de datos o la tarea en segundo plano simplemente sigue ejecutándose, quemando CPU y manteniendo conexiones abiertas para un trabajo que ya nadie quiere. La cancelación no es un caso borde. Es una parte de primera clase del diseño asíncrono que se añade demasiado tarde, si es que se añade.

AbortController lleva años disponible en Node.js y en los navegadores, pero la mayoría de los equipos lo usan como un truco puntual para poner timeout a un fetch, en lugar de como una estrategia sistémica de cancelación. Eso es una oportunidad desaprovechada.