Javascript 修改类方法参数

Javascript 修改类方法参数,javascript,class,prototype,Javascript,Class,Prototype,我使用两个不同的库 第一个类提供以下类: class VolumeLoader { load(string: string): Promise<any> // Returns a promise to attach callbacks // rest of methods } 如何修改VolumeLoader使其能够接受字符串、回调? 我无法修改原始类 我所尝试的: //使用以前的加载程序创建新类。load函数可以工作,但我丢失了其余的方法。 类VolumeLoad

我使用两个不同的库

第一个类提供以下类:

class VolumeLoader {
    load(string: string): Promise<any> // Returns a promise to attach callbacks
    // rest of methods
}
如何修改
VolumeLoader
使其能够接受
字符串、回调?

我无法修改原始类

我所尝试的:

//使用以前的加载程序创建新类。load函数可以工作,但我丢失了其余的方法。
类VolumeLoader{
加载器=新卷加载器
加载(字符串、回调){
this.loader.load(字符串)。然后(回调)
}
//其余的方法都丢失了!:(
}
//直接修改原型
常量原始容量装载器=容量装载器;
常量_VolumeLoader=VolumeLoader
_VolumeLoader.prototype.load=函数(字符串,回调){
OriginalVolumeLoader.prototype.load.call(this,string)。然后(callback)
}
//创建无限循环,不确定原因:(

没有一个有效:(

您需要单独保存原始的
load
方法以避免无限循环。执行
OriginalVolumeLoader=VolumeLoader
只会在内存中创建对同一
类的另一个引用,因此对
OriginalVolumeLoader
的更改也会导致对
VolumeLoader
的更改

使用:


@CertainPerformance补充道:)几乎成功了!太棒了,现在开始工作了。谢谢!:)
const origLoad = VolumeLoader.prototype.load;
VolumeLoader.prototype.load = function (string, callback) {
    origLoad.call(this, string).then(callback)
};