Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Conceptos básicos de Fetch
LaAPI Fetch proporciona una interfaz para obtener recursos (incluso a traves de la red). Parecera familiar a quien sea que haya usadoXMLHttpRequest, pero proporciona un conjunto de características más potentes y flexibles. Este artículo explica algunos de los conceptos básicos de la API Fetch.
Nota:Este artículo será añadido en un futuro. Si encuenta un concepto de Fetch que siente necesita una mejor explicación, hagalo saber a alguien en elforo de discusión de MDN, oMozilla IRC (#mdn room.)
In this article
En pocas palabras
En el corazón de Fetch estan las abstracciones de interfaz de cargas de HTTPRequests,Responses,Headers, yBody, junto a un métodoglobal fetch para inicializar peticiones de recurso asíncronos. Porque los prinipales componentes de HTTP son abstraídos como objetos Javascript, es sencillo para otras APIs el hacer uso de dicha funcionalidad.
Service Workers es un ejemplo de una API que hace un fuerte uso de Fetch.
Fetch toma la naturaleza asíncrona de dichas peticiones un paso adelante. La API esta completamente basada enPromise.
Guard
Guard es una característica de objetosHeaders, con los valores posiblesimmutable,request,request-no-cors,response, onone, dependiendo de donde el encabezado es usado.
Cuando un nuevo objetoHeaders es creado usando elHeaders()constructor, su guarda (guard) se establece anone (por defecto). Cuando un objetoRequest oResponse es creado, tiene un objetoHeaders asociado cuyo guarda (guard) se establece como se resume a continuación:
| nuevo tipo de objeto | creando el constructor | configuraciones de guarda (guard) del objetoHeaders asociado |
|---|---|---|
Request | Request() | request |
Request() conmode deno-cors | request-no-cors | |
Response | Response() | response |
Métodoserror() oredirect() | immutable |
Un guarda (guard) de encabezado afecta los métodosset(),delete(), yappend() que cambían los contenidos del encabezado. UnTypeError es arrojado si se trata modificar un objetoHeaders cuyo guarda (guard) esimmutable. Sin embargo, la operación funcionará si
- guard es
requesty el nombre del encabezado no es unforbidden header name . - guard es
request-no-corsy el encabezadonombre/valor es unsimple header . - guard es
responsey el nombre del encabezado no esforbidden response header name.