Fetch API
=========

**Experimental:** **Esta é uma tecnologia experimental (en-US)**  
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.

A Fetch API fornece uma interface para buscar recursos (por exemplo, em toda a rede). Parecerá familiar para qualquer pessoa que tenha usado XMLHttpRequest, porém a nova API oferece um conjunto de recursos mais poderoso e flexível.

Conceitos e uso
---------------

O Fetch fornece uma definição genérica de objetos de `Request` e `Response` (e outras coisas envolvidas com solicitações de rede). Isso permitirá que eles sejam usados onde quer que sejam necessários no futuro, seja para service workers, Cache API e outras coisas similares que manipulam ou modifiquem pedidos e respostas ou qualquer tipo de caso de uso que possa exigir que você gere suas próprias responses programaticamente.

Ele também fornece uma definição para conceitos relacionados como CORS e a semântica de cabeçalho de origem HTTP, suplantando suas definições separadas em outro lugar.

Para fazer uma solicitação e buscar um recurso, use o método `GlobalFetch.fetch` (en-US) . Ele é implementado em várias interfaces, especificamente `Window` e `WorkerGlobalScope` (en-US). Isso torna disponível em praticamente qualquer contexto em que você possa querer obter recursos.

O método fetch () tem um argumento obrigatório, o caminho para o recurso que deseja obter. Ele retorna uma promessa que resolve a `Response` para esta requisição, seja ele bem-sucedido ou não. Você também pode, opcionalmente, passar um objeto de opções de inicialização como o segundo argumento (consulte `Request`).

Uma vez que uma `Response` é recuperada, há uma série de métodos disponíveis para definir o conteúdo do corpo e como ele deve ser tratado (veja `Body`.)

Você pode criar um pedido e uma resposta diretamente usando os construtores `Request()` e `Response()` (en-US), mas é improvável que você faça isso diretamente. Em vez disso, é mais provável que sejam criados como resultados de outras ações da API (por exemplo, `FetchEvent.respondWith` (en-US) de service workers).

**Nota:** Encontre mais informações sobre os recursos do Fetch API em Using Fetch, e conceitos para estudos em Fetch basic concepts.

Fetch Interfaces
----------------

`GlobalFetch`

Contém o método `fetch()` usado para buscar um recurso.

`Headers` (en-US)

Representa cabeçalhos response/request, permitindo que você os consulte e faça diferentes ações dependendo dos resultados.

`Request`

Representa um pedido de recursos.

`Response`

Representa a resposta de uma requisição.

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

`Body`

Providencia métodos relacionados ao corpo da resposta/requisição, permitindo que você declare qual seu tipo de conteúdo e como ele deve ser tratado.

Especificações
--------------

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

Compatibilidade com navegadores
-------------------------------

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

Veja também
-----------

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