Quién ejecuta tu Future en Rust: introducción práctica a async

Fuentes: Who Runs Your Rust Future? Hands-On Intro to Async Rust
Imagen generada por IA con el prompt: Minimal editorial illustration: abstract gears and a small green cursor polling a glowing placeholder card labeled 'Future', warm studio lighting, soft isometric style, muted rust-orange background
Imagen generada con IA

Este primer capítulo de una serie sobre Rust asíncrono sirve de puente entre los manuales que detallan las entrañas de Future, poll y Pin, y las guías prácticas que conectan servicios reales con Tokio. La premisa central es directa: a diferencia de JavaScript, donde el event loop de Node ejecuta las Promises sin que el programador intervenga, Rust no incluye ningún bucle de eventos en el lenguaje. Llamar a una función async no ejecuta nada; solo construye un Future, un valor inerte que permanece dormido hasta que alguien lo sondea con poll.

El texto explica el concepto de Future como un marcador de posición equivalente a la Promise de JavaScript, pero con un matiz clave: en Rust el programador es quien lo lee mediante polling. Cada poll avanza la corrutina hasta el siguiente punto de espera y devuelve Pending, o bien la lleva hasta el final y entrega Ready(valor). Sin poll no hay progreso: un Future nunca sondeado no ejecuta ni una línea.

La serie asume familiaridad con async/await en JavaScript y con las bases de Rust (structs, enums, funciones asociadas y closures). La estrategia pedagógica es construir primero un motor propio —Future, waker y executor— para después reconocer esas mismas piezas dentro de Tokio. El autor anuncia entre 5 y 8 capítulos gratuitos en la web, con el resto recopilados en un ebook de pago, y advierte de que los capítulos gratuitos pueden no publicarse en orden numérico.