为什么以下图片中的模块是重叠的?

时间:2013-08-04 12:00:52

标签: asynchronous requirejs amd

enter image description here

我们假设我们正在这样做

 require(['module1', 'module2', 'module3'], function(m1, m2, m3){   
      //Doing something after they load 
 });

究竟会发生什么?

我觉得会发生这种情况:首先,require将使用baseUrl或path构建这些模块的文件路径,然后她将发送这些模块的get请求,并要求O / s内核加载这些文件,什么时候完成? ? (我想这里没有事件循环)

我很困惑请帮助我会发生什么?

1 个答案:

答案 0 :(得分:0)

在第一个图形中,模块是加载同步的,这意味着请求module1,如果加载成功,则module2开始加载,依此类推。

在第二个图形中,模块重叠导致请求相继发出但所有文件都是异步加载,这意味着在开始下一个请求之前没有等待一个模块成功加载。

因此requireJs将所有脚本异步加载并等待所有请求加载,然后将所有模块注入到您的函数中。