Inngest ha revelado una técnica innovadora para interrumpir funciones JavaScript asíncronas, un desafío que la propia propuesta de cancelación de promesas de JavaScript (TC39) abandonó en 2016 debido a la complejidad de la limpieza de recursos. La solución, implementada en el SDK de TypeScript de Inngest, implica retornar una promesa que nunca se resuelve y, posteriormente, permitir que el recolector de basura limpie la función suspendida. Esta técnica evita el uso de excepciones o bloques try/catch, que podrían interferir con el flujo de control del código del usuario. El problema surge al intentar interrumpir funciones asíncronas en entornos serverless con tiempos de ejecución limitados, donde las funciones pueden tener múltiples pasos que tardan horas en completarse. La solución de Inngest permite interrumpir la ejecución, guardar el progreso y reanudar la función más tarde sin que el código del usuario lo sepa. Aunque el uso de generadores ofrece una alternativa, la técnica de la promesa sin resolución presenta una solución más accesible para los desarrolladores que prefieren la sintaxis async/await.
