Cómo utilizar la espera de nivel superior en los módulos ES

Aprenda a utilizar esta nueva función disponible actualmente en v8

v8nivel superior introducido recientementeawaitpara módulos ES. Es un nuevo estándar propuesto para ECMAScript, que hareached stage 3.

Nota: tomará algún tiempo antes de que esta función se pueda usar en Node.js de producción y en Chrome, pero vale la pena echarle un vistazo.

Ahora mismo podemos usar awaitsolo dentro de funciones asincrónicas. Por lo tanto, es común declarar una expresión de función asíncrona invocada inmediatamente para envolverla:

(async () => {
  await fetch(/* ... */)
})()

o también declarar una función y luego llamarla:

const doSomething = async () => {
  await fetch(/* ... */)
}

doSomething()

La espera de nivel superior nos permitirá simplemente ejecutar

await fetch(/* ... */)

sin todo este código repetitivo.

Con una advertencia: esto solo funcionaen módulos ES. No puedes usar esta sintaxis fuera deMódulos ES.

Los scripts normales y los módulos CommonJS seguirán utilizándoseexpresiones de función inmediatamente invocadaso creando una función ad-hoc como siempre.


Más tutoriales de js: