Я пишу JavaScript (> ECMAScript 6) и не могу понять, как вызвать асинхронный метод суперкласса в методе расширяющего класса. Вот что я пытаюсь сделать:
class SuperClass {
constructor(){}
async method() {
return;
}
}
class ExtendClass extends SuperClass {
constructor() {
super();
}
async method() {
return super.method();
}
}
Вышеупомянутое не будет компилироваться, получая это как ошибку:
SyntaxError: 'super' keyword unexpected here
at Object.<anonymous> (Path/To/File.js:line:character)
Я действительно пытаюсь сделать что-то невозможное? Не могу найти ничего полезного в Google ..
Это не помогает ждать вызова суперкласса, это не помогает иметь разные имена методов - единственное, что помогает, - это сделать метод расширяющего класса неасинхронным.
super
не является проблемой, хотя это то, что он говорит. - person zniwalla   schedule 22.01.2018super
появится не в том месте. Я думаю, изменение цели компиляции на ES5 решит эту проблему. - person Estus Flask   schedule 22.01.2018es2015
Babel, это приведет к выводу ES5. Да, это вопрос по вопросам репозитория Testcafe. - person Estus Flask   schedule 22.01.2018