需要了解dojo中的AND行为

时间:2013-06-25 10:35:44

标签: requirejs dojo amd

我需要了解AMD在dojo中的一种行为。  在下面的示例中,将首先执行语句1,然后执行语句2(如果已准备好)或domReady!没用过?

 function test() { 
    var abc;  
    require(["dijit/registry"], function(registry){ 
    //some modification of abc variable.
     console.log("statement 1");----> statement 1 
    });  
    return abc;----> statement 2  
    }

提前致谢。

1 个答案:

答案 0 :(得分:1)

Nope ...语句1将在加载dijit / registry后被解雇。当您达到声明2时,无法保证会出现这种情况。

确保只有您的require回调中的语句按顺序触发。

即使您使用ready或domReady,上述内容仍然有效!

您尝试以下操作来全局公开您的功能:

require(["dojo/_base/kernel", "dijit/registry"], function(kernel, registry){
    kernel.global.test = function(){
        var abc;
        //some modification of abc variable.
        console.log("statement 1");----> statement 1
        return abc;----> statement 2  
    }
});