ReferenceError: должен вызвать супер конструктор перед использованием | this | в конструкторе класса Ti - PullRequest
0 голосов
/ 08 мая 2018

Я работаю над проектом Angular, недавно обновленным до Angular 6 из Angular 5.2.10. До обновления все отлично работает.

Теперь, каждый раз, когда я компилирую свой код для производства, хотя во время компиляции ошибок нет, я получаю эту ошибку при запуске:

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 - это Enum.

Ошибка довольно очевидна, но, похоже, я поступил правильно, потому что конструктор класса 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...