在 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);
});
}
...
}
感谢您的帮助!
我正在尝试使用“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);
});
}
...
}
感谢您的帮助!