【发布时间】:2026-02-10 06:05:02
【问题描述】:
我正在编写 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)
我真的在尝试做一些不可能的事情吗?谷歌似乎没有任何有用的东西..
等待对超类的调用无济于事,使用不同的方法名称也无济于事 - 唯一有帮助的是使扩展类的方法非异步。
【问题讨论】:
-
它在我的工作正常
-
您使用的是哪个版本的节点?
-
v8.9.4 - 但是我正在使用一个名为 TestCafe 的测试框架;它使用 ECMAScript >= 6,所以它的行为应该如愿......嗯。
-
它是一个语法错误,所以版本不支持这个功能。我认为你应该编译到 es5 并运行
-
该测试框架是否进行任何类型的转换?
标签: javascript ecmascript-6 async-await ecmascript-2017 testcafe