如何在javascript中实现before_filter回调?

时间:2010-06-19 21:39:05

标签: javascript callback before-filter

假设我使用一些公共方法和一个私有方法获得了这个单例对象:

var QuestionFactory = (function() {

// private method
function google_it_first() { ... }

// public methods
return {
  ask_a_stupid_question:                function() { ... },
  ask_a_relatively_non_stupid_question: function() { ... },
  ask_a_difficult_question:             function() { ... }
}  

})();

我希望能够做的是在调用任何公共方法时首先调用google_it_first方法。如何在不在每个公共方法中明确调用它的情况下实现它?

1 个答案:

答案 0 :(得分:2)

function wrapper() {
  return function() {
    google_it_first();
    return arguments[0](arguments.slice(1,arguments.length);
  }
}

ask_a_stupid_question: wrapper(function() { ... })

在我的头脑中,我认为这样可行。