直接使用 lodash 当然是比较便利的。但有时候,只是想使用那么一两个函数,为此引入 lodash 不太划算。比如,在写小程序的时候我需要用防抖函数。这种情况下,最好自己写一个。
自写 debounce 当然不会像 lodash 考虑得那么详尽。只要围绕着时延,写一个简单的满足需求的就可以了。
// 防抖 export function debounce(fn, time = 300) { let timeout = null function temp(...rest) { let context = this clearTimeout(timeout) timeout = setTimeout(fn.bind(context, ...rest), time) } return temp }