码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JS 防抖封装方法


    防抖封装方法:

    1. /**
    2. * @param {Function} func
    3. * @param {number} wait
    4. * @param {boolean} immediate
    5. * @return {*}
    6. */
    7. export function debounce(func, wait, immediate) {
    8. let timeout, args, context, timestamp, result
    9. const later = function () {
    10. // 据上一次触发时间间隔
    11. const last = +new Date() - timestamp
    12. // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
    13. if (last < wait && last > 0) {
    14. timeout = setTimeout(later, wait - last)
    15. } else {
    16. timeout = null
    17. // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
    18. if (!immediate) {
    19. result = func.apply(context, args)
    20. if (!timeout) context = args = null
    21. }
    22. }
    23. }
    24. return function (...args) {
    25. context = this
    26. timestamp = +new Date()
    27. const callNow = immediate && !timeout
    28. // 如果延时不存在,重新设定延时
    29. if (!timeout) timeout = setTimeout(later, wait)
    30. if (callNow) {
    31. result = func.apply(context, args)
    32. context = args = null
    33. }
    34. return result
    35. }
    36. }

  • 相关阅读:
    云原生--kubectl命令汇总
    对于epoll实现原理的理解
    LeetCode Cookbook 树(2)
    2023年13个最适合销售电子书的WordPress主题
    Flutter CustomScrollView 的使用 及 常用的Sliver系列组件
    UData查询引擎优化-如何让一条SQL性能提升数倍
    jsp笔记
    MySQL8.0修改mysql允许远程连接
    正确按照字典顺序比较字符串之 localeCompare
    <C++>入门新概念
  • 原文地址:https://blog.csdn.net/qq_44170108/article/details/134478608
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号