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.

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