Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion spec.html
Original file line number Diff line number Diff line change
Expand Up @@ -50564,7 +50564,7 @@ <h1>
1. Else,
1. Assert: _asyncBody_ is an Abstract Closure with no parameters.
1. Let _result_ be _asyncBody_().
1. Assert: If we return here, the async function either threw an exception or performed an implicit or explicit return; all awaiting is done.
1. Assert: If we return here, evaluation has finished either by throwing, by an explicit return, or by reaching the end of the Parse Node; all awaiting is done.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"reaching the end of the Parse Node" is unclear to me

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest an alternative wording for "got to the end of the module or function body"?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something like "did not encounter a return, throw, or any expression that threw during Evaluation"?

Also this should be a Note, not an Assert.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It could have done one of those things and had it swallowed by a catch or finally, so that would be wrong. Also that reads pretty awkwardly with the rest of the sentence.

This seems fine as an Assert to me: it's making explicit an invariant that would otherwise be implicit, which is exactly what Asserts are for.

1. Remove _acAsyncContext_ from the execution context stack and restore the execution context that is at the top of the execution context stack as the running execution context.
1. If _result_ is a normal completion, then
1. Perform ! Call(_promiseCapability_.[[Resolve]], *undefined*, « *undefined* »).
Expand Down
Loading