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
para200
). 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 umArrayBuffer
. Body.blob()
-
Recebe um "stream"
Response
e lê até a conclusão. Retorna uma "promise" que resolve com umBlob
. Body.formData()
-
Recebe um "stream"
Response
e lê até a conclusão. Retorna uma "promise" que resolve com um objetoFormData
. 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 comoJSON
. Body.text()
-
Recebe um "stream"
Response
e lê até a conclusão. Retorna uma "promise" que resolve com umUSVString
(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.
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:
var myResponse = new Response();
Especificações
Specification |
---|
Fetch Standard # response-class |
Compatibilidade com navegadores
BCD tables only load in the browser