Estoy jugando con AbortController para cancelar las solicitudes realizadas con fetch . Cuando llamo a abort() veo que se llama a mi controlador catch() (lo que significa que la solicitud se canceló efectivamente), pero la solicitud en sí aún recupera los datos del punto final (según la pestaña de red de Chrome).
Esperaba que se cancelara la solicitud para que no se produjera ningún tráfico de descarga (suponiendo que la descarga de los datos reales no se haya producido en el momento en que se llama a abort() ).
¿Es este el comportamiento esperado de AbortController ?
Como pregunta adicional: si "sí, ese es el comportamiento esperado, la solicitud no se cancela de una manera para evitar el tráfico de descarga", ¿hay alguna forma de cancelar una solicitud realizada con fetch ?
Editar: estoy probando https://fetch-abort-demo.glitch.me con Chrome y Safari, y mientras Safari resalta en rojo la solicitud abortada, Chrome no lo hace. ¿Tal vez esto es solo un error de la interfaz de usuario de Chrome?
Sí, ese es el comportamiento esperado.
Dime que me dices, dame todas las nueces de esa bolsa detrás de ti.
Te entrego todas las nueces cucharada a cucharada en la bolsa que estás teniendo. Habiendo vaciado la mitad de mi bolso en el tuyo, cambias de opinión, dejas caer el bolso al suelo y te alejas sin decir una palabra.
¿Todavía hay nueces en lo que alguna vez fue tu bolso? Sí, porque la transferencia de datos lleva tiempo y los datos se entregan en fragmentos/paquetes, pieza por pieza. Solo cuando se transfieren todos los paquetes se completa la transmisión.
Su solicitud fue anulada, pero había estado en curso durante un tiempo recibiendo paquetes. Acabas de dejar de solicitar y aceptar paquetes.