miniraf
作者:互联网
miniraf
- 作用: 传递一个函数保证这个函数每次执行,都间隔16毫秒。
- 原理: 闭包,利用闭包保存一个时间戳,每当执行callback会先比对时间戳,超时执行,没超时做timeout,类似节流。
- 代码如下。
var miniraf = (function () {
var oldTime = Date.now();
return function (callback) {
var currentTime = Date.now();
if (currentTime - clock > 16) {
oldTime = currentTime;
callback(currentTime);
} else {
setTimeout(function () { return miniraf(callback); }, 0);
}
}
})();
export default miniraf
// 使用如下
import raf from 'miniraf'
raf(callback)
自己看的源码,仅供参考
标签:function,闭包,miniraf,currentTime,callback,var 来源: https://blog.csdn.net/qq_44002888/article/details/120429625