节流 / 防抖

2020-04-10  本文已影响0人  小马哒哒哒哒哒哒

使用场景

函数

// 防抖
  debounce(fn, wait=1000) {
    let timeout;
    return () => {
      clearTimeout(timeout)
      timeout = setTimeout(() => {
        fn.call(this, arguments);
      }, wait)
    }
  }

//节流
throttle(fn, wait=1000) {
    let canRun = true;
    return () => {
        if (!canRun) return;
        canRun = false;
        setTimeout(() => {
            fn.apply(this, arguments);
            canRun = true;
        }, wait);
    };
}

在Vue中用法

searchInputCallback:tool.debounce(()=>{
  console.log('sss')
})
上一篇下一篇

猜你喜欢

热点阅读