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.

La interfaz Response de la Fetch API representa la respuesta a una petición.

Tú puedes crear un nuevo objeto Response usando el constructorResponse.Response(), pero es más probable encontrar un objeto Response siendo devuelto como resultado de la operación de otra API, por ejemplo un service worker Fetchevent.respondWith, o un simple GlobalFetch.fetch().

Constructor

Response()

Crea un nuevo objeto Response.

Propiedades

Response.headers Read only

Contiene el objeto Headers asociado con la respuesta.

Response.ok Read only

Contiene un estado indicando si la respuesta fue exitosa (estado en el rango 200-299) o no.

Response.redirected Read only

Indica si la respuesta es o no el resultado de una redirección; eso es, su lista de URL tiene más de una entrada.

Response.status Read only

Contiene el código de estado de la respuesta (e.g., 200 si fue exitosa).

Response.statusText Read only

Contiene el mensaje de estado correspondiente al código de estado (e.g., OK para el Código 200).

Response.type Read only

Contiene el tipo de respuesta (e.g., basic, cors).

Response.url Read only

Contiene la URL de respuesta.

Response.useFinalURL

Contiene un valor booleano indicando si ésta es la URL final de respuesta.

Response implementa Body, de modo que además contiene las propiedades que se detallan a continuación:

Body.body Read only

Un simple método get que expone un ReadableStream de los contenidos del body.

Body.bodyUsed Read only

Almacena un Boolean en el cuál declara si el body ya fue enviado como respuesta anteriormente.

Methods

Response.clone()

Clona un Objeto Respuesta.

Response.error()

Devuelve un nuevo objeto Respuesta asociado a un error de red.

Response.redirect()

Crea una nueva respuesta con un URL distinto. Response iimplementa Body, de modo que además contiene los métodos que se detallan a continuación:

Body.arrayBuffer()

Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un ArrayBuffer.

Body.blob()

Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un Blob.

Body.formData()

Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un objeto FormData.

Body.json()

Recibe un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve como JSON el texto del Body enviado.

Body.text()

Recibe un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un USVString (texto).

Examples

En nuestro ejemplo básico de ferch (ejecutar el ejemplo) usamos una llamada fetch() para descargar una imagen y mostrarla en una etiqueta <img> . La llamda a fetch() call devuelve una promesa, la cual resuelve a un objeto Response asociado a la operación fetch.

Observa como ya que lo que estamos solicitando es una imagen, necesitamos ejecutar Body.blob (Response implements body) para darle a la respuesta su tipo MIME correcto.

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;
  });

También puedes usar el constructor Response.Response() para crear tus objetos Response personalizados:

js
var myResponse = new Response();

Especificaciones

Specification
Fetch Standard
# response-class

Compatibilidad con navegadores

BCD tables only load in the browser

Ver también