UNPKG

vue-tianditu2

Version:
1 lines 1.24 kB
{"version":3,"file":"tool.mjs","sources":["../../../packages/utils/tool.ts"],"sourcesContent":["/**\n * 防抖\n * @param {function} func 要进行debounce的函数\n * @param {number} wait 等待时间,默认500ms\n * @param {boolean} immediate 是否立即执行\n */\nexport function debounce<F extends (...args: any[]) => void>(func: F, wait = 500, immediate = false) {\n let timeout: NodeJS.Timeout | undefined;\n return function (...args: Parameters<F>) {\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n // 如果已经执行过,不再执行\n const callNow = !timeout;\n timeout = setTimeout(function () {\n timeout = undefined;\n }, wait);\n if (callNow) {\n func(...args);\n }\n } else {\n timeout = setTimeout(() => func(...args), wait);\n }\n };\n}\n"],"names":["debounce","func","wait","immediate","timeout","args","callNow"],"mappings":"AAMO,SAASA,EAA6CC,GAASC,IAAO,KAAKC,IAAY,IAAO;AAC/F,MAAAC;AACJ,SAAO,YAAaC,GAAqB;AAEvC,QADID,kBAAsBA,CAAO,GAC7BD,GAAW;AAEb,YAAMG,IAAU,CAACF;AACjB,MAAAA,IAAU,WAAW,WAAY;AACrB,QAAAA,IAAA;AAAA,SACTF,CAAI,GACHI,KACFL,EAAK,GAAGI,CAAI;AAAA,IACd;AAEA,MAAAD,IAAU,WAAW,MAAMH,EAAK,GAAGI,CAAI,GAAGH,CAAI;AAAA,EAElD;AACF;"}