| 123456789101112131415161718192021222324252627282930 | 
							- 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 if (!flag) {
 
-         flag = true
 
-         // 如果是非立即执行,则在wait毫秒内的结束处执行
 
-         timer = setTimeout(() => {
 
-             flag = false
 
-             typeof func === 'function' && func()
 
-         }, wait)
 
-     }
 
- }
 
- export default throttle
 
 
  |