扩展类在子方法和父方法之间移动

时间:2019-05-03 10:24:43

标签: javascript node.js

一个简单的问题

我扩展了一个不是我的类,我需要使用YamlDataSource中的某些函子

class PersistenceDataSource extends YamlDataSource {
    constructor() {
        super();
        this._ = this;

    }

问题是:我需要使用一个只知道功能绑定的管理器,例如 fetchAll

所以我需要在我的 PersistenceDataSouce 中使用它,但是我还需要调用在 YamlDataSouce 中实现的那个strong>

        async fetchAll( config ) { 
//...
            let fetched = this.fetchAll();
            console.log( fetched );
        } );

如果这样做,则触发了PersistenceDataSource中的fetchAll函数,因此我想用我构造为 constructor 的解决方案来解决它,这是一个好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

您可以像使用super.METHOD()调用构造函数一样使用super()

因此:

async fetchAll(config) {
    super.fetchAll(); // This will call the extended class fetchAll method (YamlDataSource fetchAll) instead of this class one.
});