API del Clima con TypeScript: async/await, fetch y tipos

Descubre cómo crear una CLI del clima con TypeScript usando async/await, fetch y pruebas con Jest. Aprende a manejar errores HTTP y tipar respuestas de API.

6 jun 2026 • 4 min de lectura • Equipo Q2BSTUDIO

Guía práctica: llamadas asíncronas y mocking en TypeScript

En el desarrollo de software moderno, la capacidad de consumir APIs externas de forma eficiente y segura es una competencia fundamental. TypeScript, con su sistema de tipos estáticos, ofrece un entorno robusto para construir aplicaciones que interactúan con servicios web, especialmente cuando se combina con async/await y la API nativa fetch. Este artículo explora las claves técnicas para implementar un cliente de API del clima, analizando desde la definición de tipos hasta las estrategias de testing, y cómo estas prácticas se integran en el desarrollo profesional dentro de una empresa de tecnología.

Uno de los primeros desafíos al trabajar con APIs externas es modelar correctamente la respuesta JSON. En TypeScript, se recomienda definir tipos (type o interface) que reflejen con precisión la estructura devuelta por el servicio. Aquí es crucial distinguir entre valores numéricos y cadenas: por ejemplo, la temperatura llega como número, mientras que la unidad ('°C') aparece en un campo separado. Ignorar esta distinción puede provocar errores en tiempo de ejecución. Una práctica habitual en equipos como los de Q2BSTUDIO, especializados en aplicaciones a medida, es inspeccionar primero la respuesta real de la API antes de escribir los tipos, asegurando una correspondencia exacta entre el contrato de datos y las estructuras del código.

La función fetch integrada en Node.js y los navegadores permite realizar peticiones asíncronas de forma sencilla. Sin embargo, a diferencia de algunas librerías HTTP de Java, fetch no rechaza la promesa cuando recibe un código de error HTTP (como 404 o 500). En su lugar, la propiedad response.ok se vuelve false. Esto obliga al desarrollador a verificar explícitamente el estado de la respuesta y lanzar una excepción personalizada. Este patrón es esencial para construir software a medida resiliente, donde el manejo de errores está diseñado para cada contexto de negocio. Además, cuando el valor del timezone puede ser opcional (por ejemplo, cuando el usuario introduce coordenadas manualmente), es recomendable usar un condicional para incluirlo solo si existe, evitando enviar parámetros vacíos a la API.

Otro aspecto clave es la extracción de tipos a partir de objetos existentes mediante keyof typeof. Esta técnica permite derivar automáticamente una unión de tipos a partir de las claves de un objeto constante, eliminando la necesidad de mantener un enum redundante. Por ejemplo, si se define un mapeo de ciudades con sus coordenadas, se puede obtener directamente el tipo 'nombre de ciudad' como 'Sapporo' | 'Sendai' | ... . Esta aproximación es muy valorada en proyectos de inteligencia artificial para empresas, donde los modelos de datos suelen evolucionar rápido y se necesita flexibilidad sin sacrificar la seguridad de tipos.

En el ámbito de las pruebas unitarias, una de las tareas más comunes es simular llamadas a APIs externas para evitar depender de servicios en red durante el test. En TypeScript, se puede reemplazar la función global fetch utilizando jest.spyOn(global, 'fetch') y configurando un valor simulado con mockResolvedValue. Para verificar tanto la estructura como los tipos de la respuesta, se recomienda usar toMatchObject combinado con expect.any(Number), que es más estricto que un simple toBeDefined(). Es fundamental limpiar los mocks en el bloque afterEach para evitar efectos colaterales entre pruebas, siguiendo las mejores prácticas de equipos que ofrecen servicios cloud AWS y Azure, donde la calidad del software es crítica para entornos de producción.

La integración de estos patrones en un flujo de trabajo real refleja la madurez técnica que se espera en el desarrollo empresarial. Por ejemplo, al construir un panel de visualización de datos meteorológicos, se podría combinar el consumo de APIs con herramientas de inteligencia de negocio como Power BI. Desde Q2BSTUDIO, expertos en servicios de inteligencia de negocio, se enfatiza la importancia de modelar correctamente los datos entrantes para garantizar que los informes sean precisos. Igualmente, las prácticas de ciberseguridad deben aplicarse al validar entradas del usuario (como coordenadas o nombres de ciudad) para evitar inyecciones o accesos no autorizados, un área donde Q2BSTUDIO ofrece servicios de pentesting para garantizar la robustez de las aplicaciones.

Finalmente, el uso de herramientas de IA como asistentes de código (por ejemplo, Claude Pro o Cursor Pro) puede acelerar el aprendizaje y la depuración, pero siempre debe complementarse con la verificación personal. AI puede sugerir cambios que no siempre son correctos, como afirmaciones falsas sobre compatibilidad de versiones de paquetes. En lugar de aceptarlas ciegamente, es mejor ejecutar comandos como npm info para confirmar los peer dependencies. Esta cultura de verificación autónoma es la que fomenta el crecimiento profesional, y es la misma que aplican los equipos de Q2BSTUDIO al desarrollar agentes IA o soluciones de automatización de procesos para sus clientes.

En resumen, construir una CLI del clima con TypeScript es mucho más que un ejercicio académico: es una oportunidad para poner en práctica principios de diseño de tipos, manejo asíncrono, testing aislado y verificación crítica de información. Estos mismos principios son los que sustentan el desarrollo de aplicaciones a medida en entornos empresariales, donde la precisión, la seguridad y la escalabilidad son requisitos innegociables. Si tu organización busca adoptar estas buenas prácticas o necesita una solución personalizada, no dudes en contactar a expertos en IA para empresas que puedan guiar el proceso con experiencia real.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat