util.js
// 防抖
export const debounce = (fn, interval)=>{
var timer;
var gapTime = interval || 1000;//间隔时间,如果interval不传,则默认1000ms
return function() {
clearTimeout(timer);
var context = this;
var args = arguments;//保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
timer = setTimeout(function() {
fn.call(context,args);
}, gapTime);
};
}
在需要防抖的页面引入
import {
debounce
} from "../../utils/util"
Page({
// 删除审核未通过的
del:debounce(function () {
wx.showLoading({
title: '删除中',
})
fetch.post({
url:api.flatAvatarDelete,
data:{audit_id:this.data.mateInfo.audit_id},
success:(res)=> {
const lastPage = getCurrentPages()[0]
lastPage.needRefresh = true
wx.showToast({
title: '删除成功',
icon: 'success',
duration: 2000
})
wx.navigateBack()
},
fail: (err)=> {
wx.showToast({
title: err.data.message,
icon: 'none',
duration: 2000
})
},
})
}),
})