サードパーティの関数が返されたときに「検出」してから、独自の関数を実行する必要があります。
例: 私が書いていない関数
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..