Entendiendo el Top-Level Await en JavaScript

·4m 09s

¿Qué es el Top-Level Await?

El Top-Level Await es una funcionalidad de JavaScript que permite utilizar la palabra reservada await fuera del cuerpo de una función asíncrona. Tradicionalmente, al escribir async/await, el intérprete arroja un error si intentamos usar await fuera de un contexto definido como async.

Consideraciones clave:

  • Nivel superior: Solo es posible utilizar esta sintaxis en la raíz de los módulos, no dentro de funciones regulares.
  • Soporte: Aunque las versiones modernas de Node.js y Chrome lo implementan, la compatibilidad entre navegadores puede ser limitada.
  • Alternativa clásica: Antes de esta funcionalidad, se utilizaban las IIFE (Immediately Invoked Function Expressions) para envolver el código asíncrono y poder ejecutarlo de forma inmediata.

"La palabra reservada await sólo lo puedes utilizar en funciones que sean asíncronas, por lo tanto tienes que poner un async para que pueda funcionar."

La alternativa: IIFE

Si necesitas compatibilidad universal, la técnica estándar consiste en crear una función autoejecutable (IIFE) que contenga el flujo asíncrono. Esto permite manejar promesas en el nivel superior del archivo sin depender de configuraciones que no todos los entornos soportan.

Temas

JavaScript AsyncAwait TopLevelAwait NodeJS IIFE Programación

Capítulos

3 chapters