Javascript 在子类的回调方法中调用父类方法

Javascript 在子类的回调方法中调用父类方法,javascript,Javascript,我有两个类,类B扩展了类A。在类B中,我正在执行一些画布操作,因此需要调用回调来加载图像。在回调中,我想调用父类的相同方法。但是,如果我将这行代码放入回调,我会得到一个语法错误“uncaughtsyntaxerror:'super'关键字此处意外”。知道如何在回调中使用上下文以便调用父类的方法吗 汤姆干杯 class A{ super(){ } myMethod(){ console.log("mymethod of A"); } } cl

我有两个类,类B扩展了类A。在类B中,我正在执行一些画布操作,因此需要调用回调来加载图像。在回调中,我想调用父类的相同方法。但是,如果我将这行代码放入回调,我会得到一个语法错误“uncaughtsyntaxerror:'super'关键字此处意外”。知道如何在回调中使用上下文以便调用父类的方法吗

汤姆干杯

class A{
    super(){
    }

    myMethod(){
        console.log("mymethod of A");
    }
}



class B extends A{
    constructor(){
        super();
    }


    myMethod(){

    var canvas = window.document.getElementById("myCanvas");
        var context = canvas.getContext('2d');

        context.canvas.width = 200;
        context.canvas.height = 100;
        context.fillStyle = "#ffff00";
        context.font = "15px Arial";

        context.fillText("Hello World!", 0, context.canvas.height);
        var image = document.createElement("img");
        image.src = canvas.toDataURL("image/png");
        this.img = image;

        image.onload = async function(){
            super.myMethod();// having thise line in the code results in "Uncaught SyntaxError: 'super' keyword unexpected here"
            console.log("callback");
        }
    }
}
您需要使用here,它保留定义它的方法的
this
super

myMethod(){
    …
    image.onload = () => {
        super.myMethod();
    };
}
请注意,没有理由使事件处理程序
async

您需要使用here,它保留了定义它的方法的
this
super

myMethod(){
    …
    image.onload = () => {
        super.myMethod();
    };
}

请注意,没有理由让事件处理程序
async

您可以尝试->
image.onload=async()=>{super.myMethod();}
您可以尝试->
image.onload=async()=>{super.myMethod();}