节流

191 阅读1分钟

概念: 顾名思义,就是节省流量,用户多次点击触发事件执行时只在一定时间内发送规定量的事件执行 原理: 设定一个定时器,定时器里面事件执行完了再把条件判断变量设为true

function saveFlow(fn, delay) {
			let flag = true
			return function () {
				if (flag) {
					setTimeout(() => {
						fn()
						flag = true
					}, delay)
				}
				flag = false
			}
		}
                
                window.onscroll = saveFlow(function () {
			console.log('hello')
		}, 1000)