?
dojo.declare("Test", null, {
myData : null,
myFunc : function() {
alert(this.myData);
console.log("4");
},
constructor : function() {
console.log("1");
dojo.xhrGet({
url : "data.json",
load : function(data) {
this.myData = data;
console.log("2");
}
});
console.log("3");
}
});
var t = new Test();
t.myFunc();
//运行结果 //1 //3 //4 //2
? ? 把xhrGet函数设置成同步就OK了。
? ? 注意:在xhrGet中设置myData时,不能写成this.myData, 在那个函数体内this指向的是xhrGet函数。
dojo.declare("Test", null, {
myData : null,
myFunc : function() {
alert(this.myData);
console.log("4");
},
constructor : function() {
console.log("1");
var self = this;
dojo.xhrGet({
url : "data.json",
sync:true,
load : function(data) {
self.myData = data;
console.log("2");
}
});
console.log("3");
}
});
var t = new Test();
t.myFunc();
?
?