---
title: Response
slug: Web/API/Response
tags:
- API
- Experimental
- Fetch
- Fetch API
- Interface
- Reference
- Referencia
- Response
- Resposta
translation_of: Web/API/Response
---
{{APIRef("Fetch API")}}
A interface Response
da Fetch API representa a resposta para uma requisição.
Você pode criar um novo objeto Response
usando o construtor {{domxref("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 {{domxref("Fetchevent.respondWith")}}, ou um simples {{domxref("GlobalFetch.fetch()")}}.
Construtor
- {{domxref("Response.Response","Response()")}}
- Cria um novo objeto
Response
.
Propriedades
- {{domxref("Response.headers")}} {{readonlyinline}}
- Contém o objeto {{domxref("Headers")}} associado à resposta.
- {{domxref("Response.ok")}} {{readonlyinline}}
- Contém um valor booleano indicando se a resposta foi bem sucedida ("status" no intervalo 200-299) ou não.
- {{domxref("Response.redirected")}} {{ReadOnlyInline}}
- Indica se a resposta é ou não o resultado de um redirecionamento; isto é, sua lista de URL tem mais de uma entrada.
- {{domxref("Response.status")}} {{readonlyinline}}
- Contém o código de "status" da resposta (ex.,
200
para um sucesso).
- {{domxref("Response.statusText")}} {{readonlyinline}}
- Contém a mensagem de "status" correspondente ao código de "status" (ex.,
OK
para 200
).
- {{domxref("Response.type")}} {{readonlyinline}}
- Contém o tipo da resposta (ex.,
basic
, cors
).
- {{domxref("Response.url")}} {{readonlyinline}}
- Contém a URL de resposta.
- {{domxref("Response.useFinalURL")}}
- Contém um valor boleano indicando se essa é a URL final da resposta.
Response
implementa {{domxref("Body")}}, por isso também tem as seguintes propriedades disponíveis:
- {{domxref("Body.body")}} {{readonlyInline}}
- Um simples "getter" para ler do conteúdo do corpo através da interface {{domxref("ReadableStream")}}.
- {{domxref("Body.bodyUsed")}} {{readonlyInline}}
- Armazena um {{domxref("Boolean")}} que indica se o corpo já foi utilizado em uma resposta.
Métodos
- {{domxref("Response.clone()")}}
- Cria uma cópia do objeto
Response
.
- {{domxref("Response.error()")}}
- Retorna um novo objeto
Response
associado a um erro de rede.
- {{domxref("Response.redirect()")}}
- Cria uma nova resposta com uma URL diferente.
Response
implementa {{domxref("Body")}}, por isso também tem as seguintes propriedades disponíveis:
- {{domxref("Body.arrayBuffer()")}}
- Recebe um "stream" {{domxref("Response")}} e lê até a conclusão. Retorna uma "promise" que resolve com um {{domxref("ArrayBuffer")}}.
- {{domxref("Body.blob()")}}
- Recebe um "stream" {{domxref("Response")}} e lê até a conclusão. Retorna uma "promise" que resolve com um {{domxref("Blob")}}.
- {{domxref("Body.formData()")}}
- Recebe um "stream" {{domxref("Response")}} e lê até a conclusão. Retorna uma "promise" que resolve com um objeto {{domxref("FormData")}}.
- {{domxref("Body.json()")}}
- Recebe um "stream" {{domxref("Response")}} e lê até a conclusão. Retorna uma "promise" que resolve com o resultado do parseamento do texto do corpo como {{jsxref("JSON")}}.
- {{domxref("Body.text()")}}
- Recebe um "stream" {{domxref("Response")}} e lê até a conclusão. Retorna uma "promise" que resolve com um {{domxref("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 {{htmlelement("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 {{domxref("Body.blob")}} ({{domxref("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 {{domxref("Response.Response()")}} para criar seu objeto Response
personalizado:
var myResponse = new Response();
Especificações
Especificação |
Status |
Comentário |
{{SpecName('Fetch','#response-class','Response')}} |
{{Spec2('Fetch')}} |
Initial definition |
Compatibilidade entre Navegadores
{{Compat("api.Response")}}
Veja também