我需要“检测”某些第三方函数何时返回,然后执行我自己的函数。
示例:一些我没有写的函数
function foo(params1){
console.log(params1);
}
我的功能:
function bar(params2){
console.log(params2);
}
我需要它,无论何时foo
被调用,它都会以某种方式bar
立即调用!我试过这样:
foo = function(params1){
console.log(params1);
bar(params2);
}
意思是我“覆盖” foo
..但有时(总是)foo
代码太长+传递params2
(次要)问题。我尝试了原型等绝望的尝试,但后来我想我需要一些支持。
我也试过这个:(但是)
var tmp = foo;
foo = function(params1) {
tmp(params1);
bar(params2);
}
同样的问题,调用者将调用foo(params1)
因此 bar 不会 "find" params2
。
我需要这个来制作类似“事件处理程序”的东西。
第三方函数进行一些 ajax 调用,作用于 DOM,我立即采取行动。
有没有一种巧妙的方法来做到这一点?我希望这很有趣。谢谢。
ps:我虽然想要params2
全球化,但我仍然需要一个“原创”的解决方案:)
至于 的使用params2
,假设我想为每个要挂钩的函数使用不同的参数。
例子:
var tmp = foo_1;
foo_1 = function(params1) {
tmp(params1);
bar(params2);
}
tmp = foo_2;
foo_2 = function(params1) {
tmp(params1);
bar(params3);
}
//etc..