47 lines
890 B
JavaScript
47 lines
890 B
JavaScript
|
let _debounceTimeout = null,
|
||
|
_throttleRunning = false
|
||
|
|
||
|
/**
|
||
|
* 防抖
|
||
|
* 参考文章 https://juejin.cn/post/6844903669389885453
|
||
|
*
|
||
|
* @param {Function} 执行函数
|
||
|
* @param {Number} delay 延时ms
|
||
|
*/
|
||
|
export const debounce = (fn, delay=500) => {
|
||
|
clearTimeout(_debounceTimeout);
|
||
|
_debounceTimeout = setTimeout(() => {
|
||
|
fn();
|
||
|
}, delay);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 节流
|
||
|
* 参考文章 https://juejin.cn/post/6844903669389885453
|
||
|
*
|
||
|
* @param {Function} 执行函数
|
||
|
* @param {Number} delay 延时ms
|
||
|
*/
|
||
|
export const throttle = (fn, delay=500) => {
|
||
|
if(_throttleRunning){
|
||
|
return;
|
||
|
}
|
||
|
_throttleRunning = true;
|
||
|
fn();
|
||
|
setTimeout(() => {
|
||
|
_throttleRunning = false;
|
||
|
}, delay);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* toast
|
||
|
*/
|
||
|
export const msg = (title = '', param={}) => {
|
||
|
if(!title) return;
|
||
|
uni.showToast({
|
||
|
title,
|
||
|
duration: param.duration || 1500,
|
||
|
mask: param.mask || false,
|
||
|
icon: param.icon || 'none'
|
||
|
});
|
||
|
}
|