소스 검색

增加防抖和节流函数

zhuliu 1 년 전
부모
커밋
4b6d0a1527
1개의 변경된 파일30개의 추가작업 그리고 0개의 파일을 삭제
  1. 30 0
      src/utils/common.js

+ 30 - 0
src/utils/common.js

@@ -2,6 +2,36 @@ import api from '@/api'
 import router from '../router'
 import { Message } from 'element-ui'
 export default {
+  /**
+   * 防抖
+   * @param {Function} func 
+   * @param {Number} duration 
+   * @returns 
+   */
+  debounce(func , duration=500){
+    let timer;
+    return ()=>{
+      clearTimeout(timer)
+      timer = setTimeout(func,duration)
+    }
+  },
+  /**
+   * 节流
+   * @param {Function} func 
+   * @param {Number} delay 
+   * @returns 
+   */
+  throttle(func,delay=2000){
+    let flag = true
+    return ()=>{
+      if(!flag) return;
+      flag = false;
+      setTimeout(()=>{
+        func()
+        flag = true
+      },delay)
+    }
+  },
   //object转字符串
   objectToString(val) {
     var data = []