ReferenceError:在使用| this |之前必须调用超级构造函数在Ti类构造函数中

时间:2018-05-08 07:53:00

标签: angular typescript

我正在开发一个Angular项目,最近更新为Angular 5.2.10中的Angular 6。升级之前一切正常。

现在,每次编译代码进行生产时,虽然在编译期间没有任何错误,但在运行时会收到此错误:

ReferenceError: must call super constructor before using |this| in Ti class constructor

使用super的唯一打字稿类是

export class Exception extends Error {
    private _statusCode: number;

    constructor(statusCode: number, type: ExceptionType) {
        super(ExceptionType[type]);
        this._statusCode = statusCode;
    }

    get statusCode(): number {
        return this._statusCode;
    }
}

简单明了。 ExceptionType是一个枚举。

错误是非常自我解释的,但似乎我做了正确的事,因为Error类构造函数有一个可选的参数

Error(errorMsg?:string)

这是在'超级'之后调用的。

我麻木了。

修改:尝试了评论中的建议,而不是为我工作

编辑2 :正如@estus指出的那样,错误不在此代码中,而是在

class Ei {
            constructor(l, n=Ei.now) {
                this.SchedulerAction = l,
                this.now = n
            }
            schedule(l, n=0, e) {
                return new this.SchedulerAction(this,l).schedule(e, n)
            }
        }
        Ei.now = Date.now ? Date.now : ()=>+new Date;
        class Ti extends Ei {
            constructor(l, n=Ei.now) {
                this.actions = [],
                this.active = !1,
                this.scheduled = void 0
            }
    ...
}

受影响的行是

this.actions = []

这与我的代码无关。我将在github上打开一个问题。

修改3 :请检查https://github.com/angular/angular-cli/issues/7799#issuecomment-386582136

0 个答案:

没有答案