我需要在进行 AJAX 调用之前和在 AJAX 调用之后(在调用实际处理程序方法之前)成功调用一些常用方法。我正在使用dojo.aspect
来实现这一点。
这是我的代码示例
function makeAjaxCall(){
dojo.xhrGet({
url:"sample_url",
content:{
test:"value"
},
load:function(response){
//Do some logic here
},
error:function(response){
//handle error
}
});
}
下面是dojo.aspect
我用来挂断XHR
电话的那个。
define(["dojo/aspect"], function(aspect){
aspect.after(dojo, "xhr", function(deferred){
console.log("AJAX AFTER");
deferred.then(function(response){
//CALLED AFTER 'load' METHOD IS CALLED.
console.log("Testing");
});
});
aspect.before(dojo, "xhr", function(method, args){
console.log("AJAX BEFORE");
});
});
现在问题是deferred.then
在aspect.after
调用“ load
”函数之后调用内部。是否可以在调用实际加载方法之前调用一个方法?