¿Cómo pides datos a una API en JavaScript moderno?
async function loadUser(id) {
const res = await fetch("/api/users/" + id);
if (!res.ok) throw new Error("HTTP " + res.status);
return await res.json();
}Opciones
fetchda una Promise; hazawaity compruebares.ok(Opción correcta)fetchlanza un error con cada estado HTTP de errorres.json()da los datos de inmediato, sinawaitfetchsolo sirve para cargar documentos HTML
Respuesta
fetch devuelve una Promise; await la espera; res.json() interpreta el cuerpo; debes comprobar res.ok porque fetch no rechaza con 404/500
Por qué
fetch(url) envía una petición HTTP y devuelve una Promise de un objeto Response.
Detalle importante: solo rechaza si falla la red. Un 404 o un 500 se resuelve igualmente, así que debes comprobar res.ok (o res.status).
res.json() también es asíncrono, lee e interpreta el cuerpo, así que necesita await.
Para enviar datos: fetch(url, { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify(data) }).
Recuerda
fetch no rechaza con errores HTTP: comprueba res.ok.