Как мне реализовать обратный вызов before_filter в javascript? - PullRequest
0 голосов
/ 20 июня 2010

Скажем, я получил этот одноэлементный объект с некоторыми открытыми методами и одним закрытым методом:

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 Ответ

2 голосов
/ 20 июня 2010
function wrapper() {
  return function() {
    google_it_first();
    return arguments[0](arguments.slice(1,arguments.length);
  }
}

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

Наверху, думаю, это сработает.

...