首页 > 其他分享 >单位时间执行一次并在最后执行一次方法

单位时间执行一次并在最后执行一次方法

时间:2023-08-02 16:26:07浏览次数:28  
标签:一次 string delayFnO 单位 key time delayTimeOut 执行 fn

常用于页面缩放、滚动事件、鼠标移动事件节流处理

const delayFnO: { [x: string]: any } = {};
function delayTimeOut(key: string, time: number) {
  if (!time) return;
  setTimeout(() => {
    if (delayFnO[key]) delayFnO[key]();
    if (delayFnO[key]) {
      delete delayFnO[key];
      delayTimeOut(key, time);
    }
  }, time);
  delayFnO[key] = () => {
    delete delayFnO[key];
  };
}
export function delayFn(key: string, fn: any, time = 200) {
  if (delayFnO[key]) {
    delayFnO[key] = fn;
    return;
  }
  delayTimeOut(key, time);
  fn();
}

标签:一次,string,delayFnO,单位,key,time,delayTimeOut,执行,fn
From: https://www.cnblogs.com/dkf717/p/17600966.html

相关文章

  • 使用cron来定时执行脚本的步骤
    创建一个脚本,比如:/opt/port_stats.sh,脚本内容:#!/bin/bash#设置要监控的端口列表ports=({80,8080,456})#执行一次循环forportin"${ports[@]}";do num=$(netstat-nat|grep":"$port|wc-l) echo"[$(date'+%Y-%m-%d%H:%M:%S')]$port$num"&......
  • 记一次 gunicorn+python+flask+venv 部署过程
    记一次gunicorn+python+flask+venv部署过程flask直接部署到服务器会有警告,本身也是不稳定的,它只是一个应用。需要一个独立的Server来承担WSGI角色和责任。venv是pytohn的虚拟环境,用来隔离不同项目的包版本不一致的问题。python3.6+以上都自带有,在部署之前先创建虚拟环境。1、......
  • python最简单的传参方法-第一次见这种方法
    我又一个python文件,名为grounding_dino_demo.py,其代码为:fromgroundingdino.util.inferenceimportload_model,load_image,predict,annotate,Modelimportcv2CONFIG_PATH="GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py"CHECKPOINT_PATH=&......
  • mysql在执行innobackupex增量备份时报错cannot open *****/xtrabackup_checkpoints
    问题描述:mysql在执行innobackupex增量备份时报错cannotopen*****/xtrabackup_checkpoints,如下所示:数据库:mysql5.7.21说明:此次测试环境为从节点.1、异常重现[mysql@mysql-leo-perslave~]$/usr/bin/innobackupex--defaults-file=/home/mysql/etc/my.cnf--socket=/mysql/da......
  • [问题记录] Cmd执行soffice命令,无法识别
    描述:最近遇到一个需求,需要将用户上传word,Excel自动转换成PDF.同事推荐使用LibreOffice(https://www.libreoffice.org/)。后端是C#WebApi,网上示例是用后端调用本地CMD,执行soffice命令,去执行转换动作。遇到的问题是安装了LibreOffice并配置了环境变量(在Path变......
  • ActionFilterAttribute执行了2次问题
    问题描述:最近搭建了一个.NETCoreWebApi,用ActionFilterAttribute来处理token和权限问题,结果每次调用接口都执行2次OnActionExecuting或者OnActionExecutionAsync。问题分析:网络上有说是和浏览器有关系,说谷歌浏览器的jsonview的问题啥的,经过测试并没有关系。最后仔细分析了一下......
  • SpringBoot + Redis 执行lua脚本
    1、背景有时候,我们需要一次性操作多个Redis命令,但是这样的多个操作不具备原子性,而且Redis的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用lua脚本来实现Redis的事务。2、lua脚本Redis中使用lua脚本,我们需要注意......
  • Apache RocketMQ 远程代码执行漏洞(CVE-2023-33246)
    漏洞简介RocketMQ5.1.0及以下版本,在一定条件下,存在远程命令执行风险。RocketMQ的NameServer、Broker、Controller等多个组件外网泄露,缺乏权限验证,攻击者可以利用该漏洞利用更新配置功能以RocketMQ运行的系统用户身份执行命令。此外,攻击者可以通过伪造RocketMQ协议内容来达到......
  • ThreadPoolExecutor来创建和执行线程池的基本步骤
    ThreadPoolExecutor是Java提供的一个线程池实现,它提供了对线程池的更灵活和精细的控制。可以通过ThreadPoolExecutor来管理和执行多个线程任务,以提高应用程序的性能和效率。下面是使用ThreadPoolExecutor来创建和执行线程池的基本步骤:创建一个ThreadPoolExecutor实例,可以通过Thread......
  • 记一次XML文件 批量添加属性
    publicstaticvoidmain(String[]age){try{List<Path>collect=Files.walk(Paths.get("D:\\modelform")).filter(Files::isRegularFile).collect(Collectors.toList());SAXReaderreader=newSAXReader();......