如何使用JS类成员作为回调(ES6)?

时间:2017-12-25 20:38:06

标签: javascript class ecmascript-6 callback

我要求使用最常用的方法将类成员用作回调,如下所示:http://jsfiddle.net/3fupbut9/7/

// function that calls the callback
function call(cb) {
    cb();
}

// class containing the callback
class UnderTest {
    constructor() {
        this.number = 5;
    }

    // method to be called as a callback by someone else
    printNumber() {
        alert(this.number);
    }

    // current solution
    printNumberCB() {
        return function() {
            this.printNumber();
        }.bind(this); 
    }
}

var underTest = new UnderTest(); // creat a new instance
underTest.number = 7;
underTest.printNumber(); // print number directly
call(underTest.printNumberCB()); // print number by callback

我是一名C ++开发人员,对JavaScript很新,目前正在使用nodejs和express。我想我理解this在JS中是如何工作的,但使用ES6 classes的最常见方式是什么。 我的真实例子是快速路由器回调。

0 个答案:

没有答案