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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Response
Response() constructor
body parameter accepts ReadableByteStream
body parameter is optional
arrayBuffer
blob
body
body is a readable byte stream
bodyUsed
bytes
clone
error() static method
formData
headers
json
json_static
ok
redirect() static method
redirected
status
statusText
text
type
url

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Has more compatibility info.

Veja também