这是一个好主意,实现注入之前和之后的建议在javascript


var myfn = function(arg){
    var be,af,_fn;
    setTimeout(function(){
      be && be();
      console.log(arg);
      af && af();
    });
    function bef(cb){be=cb;return _fn;}
    function aft(cb){af = cb;return _fn;}
    _fn = {
       before: bef,
       after: aft
    }
  return _fn;
} 
myfn(1).before(function(){console.log(0);}).after(function(){console.log(2);})//0 1 2

它工作得很好,但不知道问题是什么??我看到许多AOP的实现只是包装myfn并返回代理fn,比如jquery AOP插件。

我在这里看到的主要问题是

  • 你的函数没有return任何东西
  • 在添加before/after回调之前,你总是需要知道参数
  • 你的函数不是通用的,它不包装任意函数

相关内容

  • 没有找到相关文章

最新更新