Response

A interface Response da Fetch API representa a resposta para uma requisição.

Você pode criar um novo objeto Response usando o construtor Response.Response() (en-US), porém é mais provável você encontrar um objeto Response sendo retornado como o resultado de uma outra operação da API, por exemplo um service worker Fetchevent.respondWith (en-US), ou um simples GlobalFetch.fetch() (en-US).

Construtor

Response() (en-US)
Cria um novo objeto Response.

Propriedades

Response.headers (en-US) Somente leitura
Contém o objeto Headers (en-US) associado à resposta.
Response.ok (en-US) Somente leitura
Contém um valor booleano indicando se a resposta foi bem sucedida ("status" no intervalo 200-299) ou não.
Response.redirected (en-US) Somente leitura
Indica se a resposta é ou não o resultado de um redirecionamento; isto é, sua lista de URL tem mais de uma entrada.
Response.status (en-US) Somente leitura
Contém o código de "status" da resposta (ex., 200 para um sucesso).
Response.statusText (en-US) Somente leitura
Contém a mensagem de "status" correspondente ao código de "status" (ex., OK para 200).
Response.type (en-US) Somente leitura
Contém o tipo da resposta (ex., basic, cors).
Response.url (en-US) Somente leitura
Contém a URL de resposta.
Response.useFinalURL
Contém um valor boleano indicando se essa é a URL final da resposta.

Response implementa Body, por isso também tem as seguintes propriedades disponíveis:

Body.body (en-US) Somente leitura
Um simples "getter" para ler do conteúdo do corpo através da interface ReadableStream (en-US).
Body.bodyUsed (en-US) Somente leitura
Armazena um Boolean (en-US) que indica se o corpo já foi utilizado em uma resposta.

Métodos

Response.clone() (en-US)
Cria uma cópia do objeto Response.
Response.error() (en-US)
Retorna um novo objeto Response associado a um erro de rede.
Response.redirect() (en-US)
Cria uma nova resposta com uma URL diferente.

Response implementa Body, por isso também tem as seguintes propriedades disponíveis:

Body.arrayBuffer() (en-US)
Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um  ArrayBuffer.
Body.blob() (en-US)
Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um Blob.
Body.formData() (en-US)
Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um objeto FormData.
Body.json() (en-US)
Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com o resultado do parseamento do texto do corpo como JSON.
Body.text() (en-US)
Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um USVString (en-US) (texto).

Exemplos

Em nosso exemplo básico fetch (executar exemplo live) nós usamos uma simples chamada fetch() para pegar uma imagem e exibi-la em uma tag <img>. A chamada fetch() retorna uma "promise", que resolve com o objeto Response associado com o recurso da operação "fetch". Você irá notar que como estamos solicitando uma imagem, nós precisamos executar Body.blob (en-US) (Response implementa o "body") para dar à resposta seu tipo MIME correto.

var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
  return response.blob();
}).then(function(blob) {
  var objectURL = URL.createObjectURL(blob);
  myImage.src = objectURL;
});

Você também pode usar o construtor Response.Response() (en-US) para criar seu objeto Response personalizado:

var myResponse = new Response();

Especificações

Especificação Status Comentário
Fetch
The definition of 'Response' in that specification.
Padrão em tempo real Initial definition

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também