1
我寫在道場1.9自定義模塊和我有這樣一段代碼用來聲明它:道場 - Json的REST調用自定義模塊構造器
define(["dojo/_base/declare", "dojo/store/JsonRest"], function(declare, JsonRest){
return declare(null, {
user: 'Not set',
constructor: function(id){
var store = new JsonRest({
target: "myurl"
});
store.get('user').then(function(item){
console.log(item.user);
this.user = item.user;
});
},
getUser: function(){
return this.user;
}
});
});
在另一個文件中我使用此代碼:
require(["modules/demo/demo"], function(demo){
var x = new demo('7');
alert(x.getUser());
});
我明白我的問題:的getUser()的JSON/REST調用完成之前,所以這個功能
函數被調用
總是返回「未設置」,因爲json值仍未加載。我怎樣才能讓getUser函數等待呢?
PS:我敢肯定,JSON REST請求效果很好,因爲控制檯日誌確定...提前
感謝
對不起。我試過你的代碼,但它似乎並沒有工作。 – michaelramin
@michaelramin啊,我沒有測試它,它可能不起作用,因爲構造函數中的回調沒有在正確的範圍內運行。更新了答案,並添加了小提琴。 – Frode
非常感謝你,它現在的作品:) – michaelramin