WITH TypeScrip:无法从函数内部引用'This'(类)函数、TypeScrip、WITH、This

2023-09-03 08:35:41 作者:繁华梦里^^牵挂

我正在学习TypeScript,有以下课程:

class DetailDriver {

    public get driver() {
        return super.getEntity();
    }

    public activate(): breeze.Promise {
        var id = this.driver.id(); // this refers to (class) DetailDriver

        return promise
            .then(getCertificate)
            .fail(somethingWrong);

        function getCertificate() {
            var id = this.driver.id(); // this refers to any
            return ...
        }
    }
}

正如您在上面的代码中看到的,对this的第一个调用引用了我的类DetailDriver。那很好。对this的第二个调用(在getCertificate内)引用any。这不是我需要的。我需要参考一下我的课程DetailDriver

C 编程问题,如何调用一个内部函数中产生的值

如何继续?

谢谢。

推荐答案

好,

根据TypeScrip语言规范的第4.9.2节,您应该使用胖箭头语法来保留其作用域。

return promise
        .then(() => return.this.id;)
        .fail(somethingWrong);

则正确地将This关键字确定为驱动程序。