Javascript 传递给requestAnimationFrame调用的回调的时间错误
我正在使用一个简单的Javascript 传递给requestAnimationFrame调用的回调的时间错误,javascript,console.log,requestanimationframe,Javascript,Console.log,Requestanimationframe,我正在使用一个简单的requestAnimationFrame循环,它在创建DOM后立即启动。 我需要使用传递给回调函数的time参数,但是我注意到在前几帧中时间是错误的。下面是我在firefox上运行此代码时发生的情况: 函数循环(时间){ console.log(时间); //随着时间的推移做一些事情来设置画布的动画 请求动画帧(循环); } 请求动画帧(循环)这是一个错误,原因是他们在将导航状态下清除控制台,而不是在导航状态下执行此操作 因此,实际上,您可能会在下一个会话中获得在这两种状
requestAnimationFrame
循环,它在创建DOM后立即启动。
我需要使用传递给回调函数的time参数,但是我注意到在前几帧中时间是错误的。下面是我在firefox上运行此代码时发生的情况:
函数循环(时间){
console.log(时间);
//随着时间的推移做一些事情来设置画布的动画
请求动画帧(循环);
}
请求动画帧(循环)代码>这是一个错误,原因是他们在将导航
状态下清除控制台,而不是在导航
状态下执行此操作
因此,实际上,您可能会在下一个会话中获得在这两种状态之间发生的日志,但这只是在控制台中,您的代码不会看到这些日志。是什么让您认为这些时间是错误的?您确定没有进行导航并且在导航之间保留日志吗?您确定undefined
控制台输出来自您的requestAnimationFrame
回调吗?这是您刷新页面之前上一页的最后一次调用。只是控制台中的一个工件。对于第一个未定义的,
,您可能会将rAF循环初始化为一个没有参数的简单调用,例如animate()代码>而不是请求动画帧(动画)代码>@jacob不,我没有在导航之间保存日志@Kaido未定义问题的解决方案正是你所说的,我觉得自己很愚蠢,因为我不能自己解决那个简单的问题。至于前两个控制台日志,它们不是来自正在运行的脚本。与其使用console.log,不如将这些值推送到一个数组中,然后记录该数组。这些值存在吗?数组中不存在工件日志,您能解释一下为什么console.log
的行为是这样的吗?我找不到关于它的信息。