我试图使用deferred
并hitch
为我的 AJAX 请求提供回调。我正在使用以下代码:
//Code is executed from this function
function getContent(){
var def = new dojo.Deferred();
def.then(function(res){
console.lod("DONE");
console.log(res);
},
function(err){
console.log("There was a problem...");
});
this.GET("path", def);
}
//Then GET is called to perform the AJAX request...
function GET(path, def){
dojo.xhrGet({
url : path,
load : dojo.hitch(def,function(res){
this.resolve(res);
}),
error : dojo.hitch(def, function(err){
this.reject(err)
})
})
}
但是,当我运行此代码时,我undefined method
在this.resolve(res)
. 我已经打印了两者this
(解析为延迟对象)res
并且两者都不是未定义的。为什么我会收到此错误以及如何实现我想要做的事情?