如何在函数中注入/覆盖代码?最佳实践



我有一个我不想改变的大js lib女巫,因为当他们更新代码时,我也必须每次都更新。所以我想尽可能少地注入或覆盖。然后把我的代码放进去。

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])
}

最新更新