JavaScript的ES6导入如何与循环依赖项一起工作?

时间:2018-06-22 18:06:09

标签: javascript ecmascript-6

test.html

<script type="module" src="./B.js"></script>

A.js

import {bar} from './B.js';
import {test} from './B.js';

export function foo() {
    bar();
}

test();
console.log("IN A");

B.js

import {foo} from './A.js';

export function bar() {
    if (Math.random()) {
        foo();
    }
}

export function test() {
    console.log("test");
}

console.log("IN B");

输出为:

B.js:30 test
A.js:24 IN A
B.js:33 IN B

为什么“ In B”是最后执行的代码行?另外,如果在test.html src="./A.js"中,“ IN B”是执行的第一行。

0 个答案:

没有答案