Inject/overrid 代码如何发挥作用?最佳实践?

how Inject/overrid code in function? best practice?

我有一个很大的 js 库 我不想更改,因为当他们更新代码时,我也必须每次都更新。所以我想尽可能少地注入或覆盖。并输入我的代码。

lib的代码和我在里面的代码是这样的:

var Erizo = {}
Erizo.Stream = function (spec) {
    var that = Erizo.EventDispatcher(spec);

    that.init = function (succesCallBack) {
         Erizo.GetUserMedia(opt, function (stream) {
             [...]    
             MY CODE
             [...]
         }
    }
    [...]
}

有没有办法注入我的代码并且不覆盖漏洞 Erizo.Stream 函数?因为这个功能很大。

谢谢

你应该这样做:

var oldFunction = Erizo.GetUserMedia

Erizo.GetUserMedia = function(opt, callback){
    console.log("code injected")
    oldFunction.apply(this,[opt, callback])
}