circle-info
Desarrollo en curso, en breve se publicarán el resto de temas.

Capítulo 6: Introducción a Fetch API

La Fetch API es la forma moderna de hacer peticiones HTTP desde JavaScript. Reemplaza el antiguo XMLHttpRequest con una interfaz mucho más limpia y basada en promesas.

6.1. ¿Qué es Fetch? Reemplazo moderno de XMLHttpRequest

XMLHttpRequest era la forma antigua de hacer peticiones (complicada y verbosa):

// ❌ Antiguo: XMLHttpRequest (complicado)
const xhr = new XMLHttpRequest();
xhr.open("GET", "/datos.json");
xhr.onload = () => console.log(xhr.responseText);
xhr.onerror = () => console.error("Error");
xhr.send();

Fetch API es moderna, basada en promesas, mucho más limpia:

// ✓ Moderno: Fetch (simple)
fetch("/datos.json")
    .then(respuesta => respuesta.json())
    .then(datos => console.log(datos))
    .catch(error => console.error("Error:", error));

6.2. fetch(url, options): Parámetros y objeto Response

fetch() toma dos parámetros: la URL y un objeto de opciones (opcional).

El objeto Response:


6.3. Peticiones GET: Obtener datos JSON

GET es el método por defecto. Se usa para obtener datos.

Parámetros en la URL:


6.4. Métodos del Response: .json(), .text(), .blob()

Después de obtener la respuesta, puedes parsearla de diferentes formas:


6.5. Manejo de errores: Red vs HTTP status

Es importante entender que hay dos tipos de errores:

  1. Errores de red: No hay conexión (fetch rechaza)

  2. Errores HTTP: Servidor retorna 404, 500, etc. (fetch resuelve igual)

Códigos HTTP comunes:


6.6. Ejemplo completo: Cargar datos y mostrar en consola


Resumen del Capítulo

Fetch API es la forma moderna y recomendada de hacer peticiones HTTP en JavaScript. Siempre recuerda verificar respuesta.ok o respuesta.status para diferenciar entre éxito y error HTTP, ya que Fetch no rechaza automáticamente en esos casos.

💡 Conceptos Clave:

  • fetch(): Función para peticiones HTTP

  • URL y options: Parámetros de configuración

  • Response object: Información de la respuesta

  • .json(), .text(), .blob(): Parsear respuesta

  • respuesta.ok: Verificar si fue exitosa

  • respuesta.status: Código HTTP

  • Errores de red: Fetch rechaza

  • Errores HTTP: Debes verificar manualmente

🤔 Preguntas de Reflexión:

  1. ¿Cuál es la diferencia entre Fetch API y XMLHttpRequest?

  2. ¿Por qué necesitas verificar respuesta.ok en lugar de solo usar .then()?

  3. ¿Cuándo usarías .json() vs .text()?

  4. ¿Qué sucede si fetch falla? ¿Se rechaza la promesa?

  5. ¿Cómo pasarías parámetros en una URL con Fetch?

  6. ¿Cuál es la diferencia entre un error de red y un error HTTP?


Última actualización

¿Te fue útil?