Explicar el orden de ejecución de un programa leyendo la cola de microtareas y macrotareas.
Encadenar promesas y controlar rechazos con async/await sin anidar retrollamadas ni tragarse errores.
Escribir iteradores y generadores para consumir flujos de datos por partes y con pausa.
Organizar el código en módulos ESM con exportaciones nombradas e importaciones dinámicas.
Aplicar cierres para encapsular estado y construir fábricas, memoización y aplicación parcial.
Diagnosticar fugas de memoria y bloqueos del hilo principal con el panel de rendimiento del navegador.
Contenido del curso
8 módulos · 40 clases en vídeo · práctica guiada en cada módulo
Módulo 1 · Presentación y entorno de depuración4 clases
Qué asume este curso y qué revisa por encima
Consola, depurador y puntos de interrupción
Node.js frente a navegador: dos entornos, un lenguaje
Cómo se mide una mejora a lo largo del curso
Módulo 2 · El modelo de ejecución5 clases
Pila de llamadas y contexto de ejecución
Bucle de eventos, cola de tareas y cola de microtareas
setTimeout, queueMicrotask y el orden real
Bloqueo del hilo principal: síntomas y medida
Ejercicio: predecir la salida antes de ejecutarla
Módulo 3 · Ámbitos, cierres y this5 clases
Ámbito léxico y cadena de ámbitos
Cierres: qué se captura y cuánto vive
Fábricas, contadores y memoización con cierres
this, call, apply y bind sin confusiones
Funciones flecha y su enlace léxico
Módulo 4 · Asincronía con promesas6 clases
De la retrollamada a la promesa
Estados, encadenamiento y propagación de errores
async/await y bloques try/catch
Promise.all, allSettled, race y any
Cancelación con AbortController
Errores silenciados: rechazos no gestionados
Módulo 5 · Iteradores, generadores y flujos5 clases
Protocolo iterable y for...of
Escribir un generador paso a paso
Generadores asíncronos y for await...of
Paginar una API sin cargarlo todo en memoria
Streams de Node y contrapresión
Módulo 6 · Módulos y organización del código5 clases
ESM frente a CommonJS: diferencias reales
Exportaciones nombradas y por defecto
Importaciones dinámicas y carga diferida
Dependencias circulares: detectarlas y romperlas
Empaquetado y árbol de dependencias
Módulo 7 · Patrones del ecosistema5 clases
Módulo revelador y espacios privados
Observador y emisores de eventos
Inyección de dependencias sin framework
Proxy y Reflect para interceptar accesos
Composición frente a herencia con prototipos
Módulo 8 · Caso práctico: cliente asíncrono con reintentos5 clases
Diseño del cliente y de sus errores
Reintentos con retroceso exponencial
Cola de peticiones con límite de concurrencia
Perfilado y ajuste con el panel de rendimiento
Entrega: módulo publicable y documentado
Requisitos
Manejo previo de JavaScript: funciones, objetos, arrays y manipulación del DOM.
Node.js instalado en el equipo, o la consola del navegador para los ejercicios cortos.
Soltura con la línea de comandos para instalar dependencias y ejecutar scripts.
Descripción
Llega un momento en que el código funciona pero nadie sabe por qué se ejecuta en ese orden. Aparecen promesas que no se esperan, errores que desaparecen sin dejar rastro y funciones que recuerdan valores que ya no deberían existir. Este curso se ocupa justo de esa capa: el modelo de ejecución de JavaScript y los mecanismos del lenguaje que se dan por sabidos y casi nunca se explican.
Cada bloque parte de un fragmento que se comporta de forma inesperada y lo desmonta hasta la causa. Se trabaja el bucle de eventos con trazas reales, se reescriben cadenas de retrollamadas a promesas y a async/await, se construyen generadores para paginar una API y se modulariza un proyecto pequeño. Los patrones se introducen cuando el problema los pide, no como catálogo previo.
Al terminar queda la capacidad de leer código ajeno del ecosistema, de librerías a frameworks, sin depender de la magia aparente. Es la base natural para entrar en Node.js del lado del servidor, en TypeScript o en cualquier framework de interfaz, donde estos mismos mecanismos aparecen envueltos en otra sintaxis pero funcionan igual.
¿Para quién es este curso?
Desarrolladores frontend que mantienen una aplicación y quieren dejar de depurar a ciegas.
Programadores de backend que llegan a Node.js desde otro lenguaje y chocan con la asincronía.
Personas que revisan código ajeno y necesitan leer librerías del ecosistema sin perderse.
Bajo demanda
Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.
Este sitio web utiliza cookies propias y de terceros para recopilar información con finalidad técnica. No se recaban ni ceden datos de carácter personal sin tu consentimiento. Más información en la política de cookies.