将函数定义传递给回调函数而不影响签名

时间:2017-08-26 19:06:32

标签: javascript node.js callback ecmascript-6 es6-class

我正在尝试创建一个链接系统,我需要能够在回调中访问函数定义到链式函数。

以下是类和实例化测试。

我需要做的是从.next回调中调用“func”方法,而不会影响回调的签名。

我需要“func”方法才能引用Test类的当前实例。

有没有办法可以在不改变回调签名的情况下将对象/函数的定义传递给回调函数?

let Test = class {
    constructor( executor ) {
        executor( this.func );
    }

    func() {
        this.value = 'test';
    }

    next( cb ) {
        cb();
        return this;
    }
}

let t1 = new Test(
        ( func ) => {
            func();
        }
    )
    .next(
        ( arg1, arg2 ) => {
            console.log( 'func' );
            console.log( func );
        }
    );

0 个答案:

没有答案