Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

297
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!