Response

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

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(), 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, ou um simples GlobalFetch.fetch().

Construtor

Response()

Cria um novo objeto Response.

Propriedades

Response.headers Somente leitura

Contém o objeto Headers associado à resposta.

Response.ok Somente leitura

Contém um valor booleano indicando se a resposta foi bem sucedida ("status" no intervalo 200-299) ou não.

Response.redirected 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 Somente leitura

Contém o código de "status" da resposta (ex., 200 para um sucesso).

Response.statusText Somente leitura

Contém a mensagem de "status" correspondente ao código de "status" (ex., OK para 200).

Response.type Somente leitura

Contém o tipo da resposta (ex., basic, cors).

Response.url 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 Somente leitura

Um simples "getter" para ler do conteúdo do corpo através da interface ReadableStream.

Body.bodyUsed Somente leitura

Armazena um Boolean que indica se o corpo já foi utilizado em uma resposta.

Métodos

Response.clone()

Cria uma cópia do objeto Response.

Response.error()

Retorna um novo objeto Response associado a um erro de rede.

Response.redirect()

Cria uma nova resposta com uma URL diferente.

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

Body.arrayBuffer()

Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um ArrayBuffer.

Body.blob()

Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um Blob.

Body.formData()

Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um objeto FormData.

Body.json()

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()

Recebe um "stream" Response e lê até a conclusão. Retorna uma "promise" que resolve com um USVString (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 (Response implementa o "body") para dar à resposta seu tipo MIME correto.

js
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() para criar seu objeto Response personalizado:

js
var myResponse = new Response();

Especificações

Specification
Fetch Standard
# response-class

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também