博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
debounce
阅读量:5275 次
发布时间:2019-06-14

本文共 936 字,大约阅读时间需要 3 分钟。

function Debounce(wait: number, immediate: boolean = false) {    return function (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) {        let timeout: any;        const originalMethod = descriptor.value;        descriptor.value = function (...args: any[]) {            let context = this;            let later = function () {                timeout = null;                if (!immediate) {                    originalMethod.apply(context, args)                }            }            let callNow = immediate && !timeout;            clearTimeout(timeout)            timeout = setTimeout(later, wait);            if (callNow) {                originalMethod.apply(context, args)            }        }        return descriptor;    }}class MouseObj {    @Debounce(1000)    public print() {        console.log(1)    }}(window as any)["MouseObj"] = MouseObj

 

转载于:https://www.cnblogs.com/KruceCoder/p/11140093.html

你可能感兴趣的文章
Oracle 分类统计sql
查看>>
Mybatis学习链接
查看>>
Flex XML
查看>>
HDU-2476 String painter 区间DP
查看>>
任务管理器taskmgr查看几核
查看>>
去除右下角淘宝网弹窗恶意广告!
查看>>
SQL字符串替换
查看>>
Jquery 概念性内容编辑器
查看>>
VMware-workstation-full-9.0.1-894247+汉化补丁(2013.1.22)+有效密钥
查看>>
一些 Google 搜索词
查看>>
嵌入式Linux学习笔记(0)基础命令。——Arvin
查看>>
我才知道wordpress还有com和org的区别呢
查看>>
C#枚举数值与名称的转换
查看>>
文明-模仿写歌词
查看>>
android上使用蓝牙设备进行语音输入
查看>>
Generic Host Process for Win32 Service错误
查看>>
typescirpt 知识点
查看>>
android应用框架搭建之BaseActivity
查看>>
8年javascript总结
查看>>
BZOJ4653 尺取法 + 线段树
查看>>