版本为vue2.3,源码如下:var raf = inBrowser && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : setTimeout;function nextFrame (fn) { raf(function () { raf(fn); });}这个nextFrame似乎是延迟了两帧然后触发fn进行重绘,这个情况下有时候动画会有一个抖动,但是改为下面代码的话,在下一帧就开始动画,动画抖动似乎就消失了,请问上面这样写的用意是什么?function nextFrame (fn) { raf(function () { fn(); });}
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
不清楚你的上下文,根据你写的代码看是因为raf
,假设当前raf=setTimeout。
那第一种就是setTimeout了两次啊,进行了两次类似cpu转让的操作。
添加回答
举报
0/150
提交
取消