| 12345678910111213141516171819202122232425262728293031 | 
							- let timer;
 
- let flag;
 
- /**
 
-  * 节流原理:在一定时间内,只能触发一次
 
-  *
 
-  * @param {Function} func 要执行的回调函数
 
-  * @param {Number} wait 延时的时间
 
-  * @param {Boolean} immediate 是否立即执行
 
-  * @return null
 
-  */
 
- function throttle(func, wait = 500, immediate = true) {
 
-   if (immediate) {
 
-     if (!flag) {
 
-       flag = true;
 
-       // 如果是立即执行,则在wait毫秒内开始时执行
 
-       typeof func === 'function' && func();
 
-       timer = setTimeout(() => {
 
-         flag = false;
 
-       }, wait);
 
-     } else {
 
-     }
 
-   } else if (!flag) {
 
-     flag = true;
 
-     // 如果是非立即执行,则在wait毫秒内的结束处执行
 
-     timer = setTimeout(() => {
 
-       flag = false;
 
-       typeof func === 'function' && func();
 
-     }, wait);
 
-   }
 
- }
 
- export default throttle;
 
 
  |