在 requestAnimationFrame 中带有参数的函数

Function with arguments in requestAnimationFrame

我正在尝试使用“requestAnimationFrame”定义带参数的递归函数。

animate(frameElapsed,points,canvas){
        console.log("test");
        if(frameElapsed<points.length-1){ 
            requestAnimationFrame(this.animate(frameElapsed+1,points,canvas));
        }
        ...
} 

当我这样做时,出现错误“'void' 类型的参数不可分配给 'FrameRequestCallback' 类型的参数”。所以我尝试定义一个调用 animate 的匿名函数来解决这个问题问题。

animate(frameElapsed,points,canvas){
        console.log("test");
        if(frameElapsed<points.length-1){ 
            requestAnimationFrame(function() {
                this.animate(frameElapsed+1,points,canevas);
            }); 
        }
        ...
} 

然后,我在 Web 控制台中收到“错误类型错误:无法读取未定义的 属性 'animate'”。我无法解决这个问题。

有没有办法将参数传递给 requestAnimationFrame 回调的 af 函数?

感谢您的帮助!

user120242 的解决方案对我有用!

    animate(frameElapsed, points, canvas) {
        console.log("test");
        if(frameElapsed < points.length - 1) { 
            requestAnimationFrame(() => {
                this.animate(frameElapsed + 1, points, canvas);
            }); 
        }
        ...
    } 

感谢您的帮助!