如何确保Dojo模块按特定顺序执行?

时间:2012-07-03 22:05:39

标签: javascript dojo

所以我使用 Dojo 1.7 'require'语法来启动两个模块。但是,调用这些模块的顺序很重要,因为一个模块可以处理另一个模块的结果。

我不能只是在程序上将它们排除在外......我如何确保它们按顺序发射?

require(['modules/createElements', 'dojo/domReady!'], 
    function(createElements) {
        createElements.go();
});

require(['modules/modifyElements', 'dojo/domReady!'], 
    function(modifyElements) {
        // This is supposed to modify the elements created
        // by the createElements module, but it usually fires
        // _before_ the elements have been created!
        modifyElements.go();
});

理想情况下,我希望这两个模块或多或少地相互独立(例如,以便modifyElements可以对任何源创建的元素起作用),因此最后调用modifyElements createElements是不可取的。

1 个答案:

答案 0 :(得分:0)

啊哈,我在发布这篇文章后意识到我可以在一个require内完成我的所有工作,如下所示:

require(['modules/createElements', 'modules/modifyElements', 'dojo/domReady!'],
    function(createElements, modifyElements) {
        createElements.go();
        modifyElements.go();
});