Fetch
Fetch es la forma moderna y nativa en JavaScript para realizar solicitudes de red, ya sea para obtener datos de un servidor o para enviar información. Devuelve una promesa y funciona muy bien con JSON.
Ejemplo correcto con promesas: fetch(https://fakestoreapi.com/products) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.error(err))
También puedes usar async y await para un código más legible: async function cargar() { try { const res = await fetch(https://fakestoreapi.com/products); const data = await res.json(); console.log(data); } catch(err) { console.error(err); } } cargar()
Axios
Axios es un cliente HTTP basado en promesas que simplifica las solicitudes asíncronas a APIs externas. Ofrece interceptores, cancelación de solicitudes, compatibilidad amplia con navegadores y manejo automático de JSON.
Uso típico: axios.get(https://api.ejemplo.com/items) .then(res => console.log(res.data)) .catch(err => console.error(err))
Si lo cargas por CDN, primero incluye el script en tu HTML y luego llama a axios.get hacia tu API, no hacia la URL del CDN.
Closures o cierres
Un closure es cuando una función interna recuerda y puede acceder a las variables de su función externa aunque esta ya haya finalizado. Esto permite encapsulación y estados privados.
Ejemplo funcional: function cuenta(monto) { let saldo = monto; return function retirar(importe) { saldo = saldo - importe; console.log(saldo); }; } const retirar1 = cuenta(1000); retirar1(50); const retirar2 = cuenta(500); retirar2(100)
Consejos rápidos
En fetch recuerda verificar res.ok antes de res.json para manejar errores HTTP. En Axios puedes configurar una instancia con baseURL y headers para reutilizar configuración. Los closures son útiles para crear módulos, contadores y control de acceso a datos internos.
Feliz codificación