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