You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// main.mjs
import { a } from './A.mjs' // error module
console.log(a);
Assume that A.mjs file will throw error and it already evaluated, so module A's EvaluationError is not empty.
The main.mjs starts execution as the root node, and the execution order should be A -> main. Since A.mjs has EvaluationError, it will return in
"3. If requiredModule.[[EvaluationError]] is not empty, return ? requiredModule.[[EvaluationError]]."
At this time, evaluate stack is not empty(remians main.mjs), but in InnerModuleEvaluation has no exception, and module main.mjs status is evaluating, not satisfied with 'a. Assert: module.[[Status]] is either evaluating-async or evaluated.'.
Error happens here. Module main is still evaluating without exception. There is no branch handle this situation.
eshost Output:
now: if A occurs error before, module main.mjs will return with evaluating status without exception. There is no branch handle this situation.
The text was updated successfully, but these errors were encountered:
[[EvaluationError]], if not empty, always contains a throw completion. So that line 11.c.iv.3 will return a throw completion, which will bubble up to Evaluate and then go through step 9 of it, not 10.
Sorry, I still confuse.
If A already evaluated by dynamicImport, marked [[EvaluationError]], throw completion and return.
Then dynamicimport main.mjs, it will return in check A's status, but A won't throw completion.
Description:
case:
Assume that A.mjs file will throw error and it already evaluated, so module A's EvaluationError is not empty.
The main.mjs starts execution as the root node, and the execution order should be A -> main. Since A.mjs has EvaluationError, it will return in
"3. If requiredModule.[[EvaluationError]] is not empty, return ? requiredModule.[[EvaluationError]]."
At this time, evaluate stack is not empty(remians main.mjs), but in InnerModuleEvaluation has no exception, and module main.mjs status is evaluating, not satisfied with 'a. Assert: module.[[Status]] is either evaluating-async or evaluated.'.
Error happens here. Module main is still evaluating without exception. There is no branch handle this situation.
eshost Output:
now: if A occurs error before, module main.mjs will return with evaluating status without exception. There is no branch handle this situation.
The text was updated successfully, but these errors were encountered: