キャンバスをレンダリングする関数は、次のようなクラスのプロトタイプ メソッドです。
Engine.prototype.renderCameras = function() { console.log('render ok'); }
このコードを直接実行しようとすると、正常に動作します。
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 に渡すことができない理由を知りたいです。