vue 防抖与节流用法

一、html

javascript 复制代码
<template>
    <button @click="getData">获取数据</button>
</template>

二、JS

javascript 复制代码
import { throttle } from "@/utils/common";
export default {
    methods:{
        getData: throttle(async function(params){
            console.log("获取接口数据",this,parmas)
        })
    }
}

三、公共方法 common.js

javascript 复制代码
// 节流
export const throttle = function (cb, delay) {
  let timer = null;
  return function (...arg) {
    if (timer) return;
    cb.call(this, arg[0]);
    timer = setTimeout(() => {
      timer = null;
    }, delay);
  };
};
javascript 复制代码
// 防抖
export const debounce = function (cb, delay) {
  let timer = null;
  return function (...arg) {
    if (timer) clearTimeout(timer);
    timer = setTimeout(() => {
      cb.call(this, arg[0]);
    }, delay);
  };
};
相关推荐
风雨兼程^_^7 分钟前
Nuxt3项目的SEO优化(robots.txt,页面tdk,伪静态.html,sitemap.xml动态生成等)
前端·seo·nuxt3·服务端渲染ssr
佬乔9 分钟前
xml中配置AOP织入
java·服务器·前端
Eugene__Chen10 分钟前
JavaWeb开发基础知识-XML和JSON
java·开发语言·前端
谢尔登14 分钟前
为 IDEA 设置管理员权限
前端·express
Kx…………29 分钟前
Uni-app入门到精通:uni-app的基础组件
前端·css·学习·uni-app·html
巴巴博一32 分钟前
keep-alive缓存
前端·javascript·vue.js·缓存·typescript
Tipriest_41 分钟前
【前端扫盲】postman介绍及使用
前端·测试工具·postman
wuaro1 小时前
JS的深浅拷贝
前端·javascript·html
CHPCWWHSU1 小时前
vulkanscenegraph显示倾斜模型(5.6)-vsg::RenderGraph的创建
开发语言·javascript·ecmascript
苹果酱05672 小时前
SpringCloud第二篇:注册中心Eureka
java·vue.js·spring boot·mysql·课程设计