Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

290
Vistas
Si no se espera la función asíncrona y se lanza, ¿debería lanzar también el código de la persona que llama?
function boo() { throw new Error(); } let foo = await boo();

Espero que arroje como si no hubiera la expresión de await . (Tenga en cuenta que boo no es una función asíncrona). Sin embargo, no encuentro una descripción del comportamiento de este código en la especificación ECMAScript.

Así es como se debe ejecutar la expresión de espera:

 AwaitExpression : await UnaryExpression 1. Let exprRef be the result of evaluating UnaryExpression. 2. Let value be ? GetValue(exprRef). 3. Return ? Await(value).

GetValue da como resultado una finalización abrupta, por lo que la rutina Await lo obtiene como argumento.

Es el lugar donde las cosas se vuelven poco claras para mí. Await envuelve el value en una promesa. Se logra con la ayuda del procedimiento PromiseResolve , que resuelve la promesa con value .

Entonces, ¿debería establecerse foo en una instancia de Error lanzado desde boo ? Por supuesto que es una tontería. Pero estoy atado en nudos y no puedo encontrar otra forma en la especificación.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

GetValue da como resultado una finalización abrupta, por lo que la rutina Await lo obtiene como argumento.

No, la operación abstracta Await nunca se ejecuta. Te estás perdiendo el (sutil) ? firme delante de ?GetValue(exprRef) , que es una forma abreviada de ReturnIfAbrupt :

2. Sea el valor ReturnIfAbrupt (GetValue(exprRef))

por lo tanto, si hay una finalización abrupta, simplemente finalizará la evaluación de la await y devolverá la finalización abrupta a la evaluación de la expresión de asignación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda