dojo 官方翻译 dojo/aspect
官网地址:http://dojotoolkit.org/reference-guide/1.10/dojo/aspect.html
after()
定义:after(target, methodName, advisingFunction, receiveArguments);
意义:在target的methodName方法之后执行advisingFunction方法。
define(["dojo/aspect"], function(aspect){ aspect.after(dojo, "xhr", function(deferred){ // this is called after any dojo.xhr call }); // this will execute the original dojo.xhr method and then our advising function dojo.xhr("GET", {...}); });
dojo.require("dojo.aspect");
dojo.aspect.after(dojo, "xhr", function(response){
  ...
});
before()
定义:before(target, methodName, advisingFunction);
意义:在target的methodName方法之前执行adviseingFunction。
define(["dojo/aspect"], function(aspect){ aspect.before(dojo, "xhr", function(method, args){ // this is called before any dojo.xhr call if(method == "PUT"){ // if the method is PUT, change it to a POST and put the method in the parameter string args.url += "?x-method=PUT"; // return the new args return ["POST", args]; } }); // this will execute the original our advising function and then dojo.xhr dojo.xhr("PUT", {...}); });
around()
定义:around(target, methodName, advisingFactory);
define(["dojo/aspect"], function(aspect){ aspect.around(dojo, "xhr", function(originalXhr){ return function(method, args){ // doing something before the original call var deferred = originalXhr(method, args); // doing something after the original call return deferred; } }); dojo.xhr("PUT", {...}); });
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号