我有一个模块foo
,它返回一个单例对象。我想在我的页面的一个部分上对此模块执行一些配置/设置,然后再使用它。 (或者说,配置可能出现在某些共享局部视图中)。
require(['foo'], function(Foo) {
Foo.value = 'abc';
});
// Then, later on on the same page...
require(['foo'], function(Foo) {
alert ('Foo value is ' + Foo.value);
});
因此,尽管RequireJS可能会根据加载依赖项的时间执行require
乱序,但是我可以确定第二次调用只会在第一次调用完成后才会发生,因为它们具有相同的依赖关系吗?
如果没有,有什么更好的方法来实现这一目标?
答案 0 :(得分:0)
直接回答问题:
不,不保证具有相同依赖关系的模块按顺序执行。
使用exports为可用模块创建一个空对象 立即供其他模块参考
但更重要的是:
循环依赖很少见,通常是您可能想要的标志 重新考虑设计
Source,因为这个问题非常相似。