0

所以我使用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是不可取的。

4

1 回答 1

0

啊哈,我在发布这篇文章后不久意识到我可以在一个单一的文件中完成我的所有工作require,就像这样:

require(['modules/createElements', 'modules/modifyElements', 'dojo/domReady!'],
    function(createElements, modifyElements) {
        createElements.go();
        modifyElements.go();
});
于 2012-07-03T22:08:03.523 回答