这个怎么做? 2023-03-09 16:09 采纳率: 53.3%
浏览 31
已结题

求个节流,我这个没反应,不会节流

求个节流,我这个没反应,不会节流


const onSubmit = async () => {
    let timer = null;
    if (timer) {
        ElMessage({ message: '点太快了', type: 'warning' })
        return clearTimeout(timer)
    }

    timer = await setTimeout(async () => {
        const data = await axios.post('/adminapi/user/useredit', { username, form }).then(res => { return res.data })
        if (data.status == 1) {
            //成功
            ElMessage({
                message: data.message,
                type: 'success',
                duration: 1000
            })
        } else {
            ElMessage({
                message: data.message,
                type: 'error',
                duration: 1000
            })
        }
    }, 1000)
}
  • 写回答

1条回答 默认 最新

  • 看客008 2023-03-09 17:06
    关注

    你可以这样改改,只生效最后一次点击

    
    let timer = null;  // 全局变量
    const onSubmit = async () => {
        
    clearTimeout(timer);  //每次点击都清除定时器,清除后timer不会变回null而是一个数字
        if (timer) {
            ElMessage({ message: '点太快了', type: 'warning' })
           
        }
     
        timer = await setTimeout(async () => {
            const data = await axios.post('/adminapi/user/useredit', { username, form }).then(res => { return res.data })
            if (data.status == 1) {
                //成功
                ElMessage({
                    message: data.message,
                    type: 'success',
                    duration: 1000
                })
            } else {
                ElMessage({
                    message: data.message,
                    type: 'error',
                    duration: 1000
                })
            }
            timer = null;    // timer置为null  
      }, 1000)
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥15 51单片机使lcd显示器开机闪烁预设字符闪烁3次需要加什么代码
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题