渲染我的画布的函数是一个类的原型方法,如下所示:
Engine.prototype.renderCameras = function() { console.log('渲染正常'); }
当我尝试直接运行此代码时,它工作正常:
engine.renderCameras()
>>> render ok
当我尝试在 Chrome 或 Firefox 中使用 requestAnimationFrame 运行它时,我得到了这个:
window.requestAnimFrame(engine.renderCameras())
>>> render ok
>>> Error: Component returned failure code: 0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS) [nsIDOMWindow.mozRequestAnimationFrame]
它运行,但它总是抛出一个错误。这不酷。
当我尝试像这样运行它时:
window.requestAnimFrame(engine.renderCameras)
>>> 0
它什么也不做。
我能够通过使用闭包来解决这个问题,但我仍然想知道为什么我不能将这样的函数传递给 requestAnimationFrame。