Generadores de JavaScript: El botón de "pausa" para tu código

Generadores de JavaScript que permiten pausar y reanudar la ejecución del código de forma eficiente y controlada.

2 dic 2025 • 3 min de lectura • Equip Q2BSTUDIO

Generadores de JavaScript: Código pausado

Generadores de JavaScript: el botón de pausa para tu código. En JavaScript normal existe la regla run to completion, es decir una función corre hasta terminar o hasta encontrar un return. Los generadores rompen esa regla y permiten pausar la ejecución, ceder el control a otro código y luego reanudar exactamente donde se quedó, recordando todo su estado. Es una herramienta ideal para flujos complejos en aplicaciones a medida y software a medida que requieren control preciso del estado y eficiencia en memoria.

La sintaxis clave es sencilla. Se crea un generador con function* y se pausa con yield. Por ejemplo un generador simple puede verse así: function* contador() { yield 1; yield 2; return 3; } Cuando llamas a contador se devuelve un objeto iterador sin ejecutar todavía el cuerpo de la función.

El objetivo es el control manual de la ejecución. Llamar a .next() sobre el iterador avanza la ejecución hasta el siguiente yield y devuelve un objeto con dos propiedades: value que contiene lo que salió por yield y done que indica si el generador terminó. Por ejemplo const gen = contador(); gen.next() devuelve {value:1, done:false} y así sucesivamente hasta que done pasa a true.

Comunicación bidireccional. Además de enviar datos hacia fuera con yield, puedes introducir datos al generador cuando lo reanudas. El valor que pasas a .next se convierte en el resultado de la expresión yield previa. Esto permite construir diálogos dentro del flujo de ejecución o manejar respuestas asíncronas de forma más ordenada, una técnica que fue precursor del patrón async await.

Streams infinitos y eficiencia de memoria. Un uso práctico es generar secuencias infinitas sin consumir memoria innecesaria. Un generador puede crear identificadores únicos o lecturas continuas bajo demanda sin almacenar toda la serie. Ejemplo conceptual: function* idGenerator() { let id = 1; while(true) { yield id++; } } Esto es perfecto para backends y servicios cloud donde cada petición necesita un valor calculado al vuelo y donde optimizar recursos importa, por ejemplo en arquitecturas basadas en servicios cloud aws y azure.

Delegación con yield*. Un generador puede delegar a otro generador usando yield*. Es útil cuando compones pipelines complejos o playlists de procesos, y facilita la modularidad del código en proyectos de software a medida.

Generadores y asincronía. Antes de async await muchas librerías usaban generadores para controlar promesas de forma secuencial. La idea es pausar hasta que una promesa se resuelva y luego continuar, simulando un comportamiento parecido a async await. Comprender esto ayuda a entender la evolución de JavaScript y a diseñar soluciones avanzadas para aplicaciones a medida con necesidades complejas de flujo, automatización de procesos o agentes IA.

Resumen práctico. function* crea el generador. yield produce la pausa y devuelve un valor. .next() reanuda la ejecución y puede recibir un valor que entra al generador. yield* delega en otro generador. Con estos elementos puedes construir desde máquinas de estado y streams infinitos hasta orquestadores de tareas en sistemas distribuidos y pipelines de datos para servicios inteligencia de negocio y power bi.

En Q2BSTUDIO somos especialistas en aplicar estas técnicas en proyectos reales. Desarrollamos aplicaciones a medida y software a medida optimizando rendimiento y escalabilidad, e integramos soluciones de inteligencia artificial y agentes IA para automatizar tareas y mejorar decisiones. Si buscas crear una aplicación robusta y personalizada conoce nuestras capacidades en desarrollo de aplicaciones y software multiplataforma y descubre cómo combinamos ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi para ofrecer soluciones completas.

Si tu proyecto necesita consultoría en inteligencia artificial, integración de agentes IA, protección mediante pentesting o migración a la nube, en Q2BSTUDIO diseñamos la estrategia y construimos la solución. Contáctanos y veremos cómo los generadores y otras herramientas avanzadas pueden mejorar el flujo y la eficiencia de tu software a medida.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat