Fetch API
=========


 La API Fetch proporciona una interfaz para recuperar recursos (incluso a través de la red). Resultará familiar a cualquiera que haya usado `XMLHttpRequest`, pero la nueva API ofrece un conjunto de características más potente y flexible.
Conceptos y uso
---------------

Fetch ofrece una definición genérica de los objetos `Request` y `Response` (y otras cosas relacionadas con las solicitudes de red). Esto permitirá su uso donde sea necesario en un futuro, ya sea para operadores de servicios, API caché y otras cosas similares que manipulen o modifiquen las solicitudes y respuestas, o cualquier otro tipo de caso de uso que pudiera requerirle la generación de sus propias respuestas mediante programación.

También proporciona una definición para conceptos relacionados, como CORS y la semántica de encabezado HTTP origen, suplantando sus definiciones separadas en otros lugares.

Para hacer una solicitud y recuperar un recurso, utilice el método `GlobalFetch.fetch` (en-US). Se implementa en múltiples interfaces, específicamente `Window` y `WorkerGlobalScope` (en-US). Esto hace que esté disponible en casi cualquier contexto donde quiera buscar recursos.

El método `fetch()` toma un argumento obligatorio, la ruta de acceso al recurso que desea recuperar. Devuelve una `Promise` (en-US) que resuelve en `Response` a esa petición, sea o no correcta. También puede pasar opcionalmente un objeto de opciones init como segundo argumento (ver `Request`).

Una vez que `Response` es recuperada, hay varios métodos disponibles para definir cuál es el contenido del cuerpo y como se debe manejar (ver `Body`).

Puede crear una solicitud y respuesta directamente a con los constructores `Request()` (en-US) y `Response()`, pero no es recomendable hacerlo directamente. En su lugar, es preferible que sean creados como resultado de otras acciones de la API (por ejemplo, `FetchEvent.respondWith` (en-US) desde los operadores de servicios).

**Nota:** Puede encontrar mas información sobre las características de la API Fetch en Usando Fetch, y aprender los conceptos en Fetch: conceptos básicos.

### Abortar una petición

Los navegadores han empezado a añadir soporte experimental para las interfaces `AbortController` (en-US) y `AbortSignal` (en-US) (Conocidas también como La API Abort), las cuales permiten que operaciones como Fetch y XHR puedan ser abortadas si no han terminado todavía. Visita las páginas de las interfaces para más detalles.

Fetch Interfaces o Métodos
--------------------------

`GlobalFetch`

Contiene el método `fetch()` utilizado para obtener o inicializar un recurso.

`Headers` (en-US)

Representa los encabezados de la respuesta/solicitud, lo que le permite consultar y tomar diferentes acciones en función de los resultados.

`Request`

Representa una solicitud de recursos.

`Response`

Representa la respuesta a una solicitud.

Fetch mixin
-----------

`Body`

Proporciona métodos relacionados con el contenido de la respuesta/solicitud, lo que le permite declarar cuál es su tipo y cómo debe manejarse.

Especificaciones
----------------

| Specification |
| --- |
| Fetch Standard # fetch-method |

Compatibilidad de navegadores
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* ServiceWorker API (en-US)
* HTTP access control (CORS)
* HTTP
* Fetch polyfill
* Fetch basic concepts
* Fetch API Examples