Response

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 (en-US), o un simple GlobalFetch.fetch() (en-US).

Constructor

Response()
Crea un nuevo objeto Response.

Propiedades

Response.headers (en-US) Read only
Contiene el objeto Headers (en-US) 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 (en-US) 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 (en-US) Read only
Contiene el mensaje de estado correspondiente al código de estado (e.g., OK para el Código 200).
Response.type (en-US) Read only
Contiene el tipo de respuesta (e.g., basic, cors).
Response.url (en-US) 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 (en-US) Read only
Un simple método get que expone un ReadableStream (en-US) de los contenidos del body.
Body.bodyUsed (en-US) Read only
Almacena un Boolean (en-US)  en el cuál declara si el body ya fue enviado como respuesta anteriormente.

Methods

Response.clone() (en-US)
Clona un Objeto Respuesta.
Response.error() (en-US)
Devuelve un nuevo objeto Respuesta asociado a un error de red.
Response.redirect() (en-US)
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() (en-US)
Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un ArrayBuffer.
Body.blob() (en-US)
Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un Blob.
Body.formData() (en-US)
Toma un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un objeto FormData.
Body.json() (en-US)
Recibe un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve como JSON el texto del Body enviado.
Body.text() (en-US)
Recibe un flujo Response y lo lee hasta completarlo. Devuelve una promesa que resuelve con un USVString (en-US) (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 objetoResponse asociado a la operación fetch.

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

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:

var myResponse = new Response();

Especificaciones

Specification Status Comment
Fetch
La definición de 'Response' en esta especificación.
Living Standard Definición inicial

Compatibilidad entre navegadores

BCD tables only load in the browser

Ver también