首页 > 其他分享 >setInterval 如何立即执行一次

setInterval 如何立即执行一次

时间:2023-05-18 17:14:23浏览次数:28  
标签:60 const replaceChar setInterval 代码 立即 执行 totalFitNames

最近有点闲暇时间了,我就想优化下代码。如下,

对于这段代码,本意是先执行一次,然后隔一段时间后再执行一次

    this.getData(token, this.replaceChar(fitnames) || '', this.replaceChar(devices) || '', this.replaceChar(totalFitNames) || '');

    const timer = setInterval(() => {
      this.getData(token, this.replaceChar(fitnames) || '', this.replaceChar(devices) || '', this.replaceChar(totalFitNames) || '');
    }, refleshTime || 2 * 60 * 60 * 1000); // default: 2h

思考下后发现,可以利用闭包,让代码先执行一次。这样就实现了目的。代码也得到了优化,同一块代码不重复出现两次。如下所示

    const that = this;
    const timer = setInterval((function loadingData() {
      that.getData(token, that.replaceChar(fitnames) || '', that.replaceChar(devices) || '', that.replaceChar(totalFitNames) || '');
      return loadingData;
    })(), refleshTime || 2 * 60 * 60 * 1000); // default: 2h

标签:60,const,replaceChar,setInterval,代码,立即,执行,totalFitNames
From: https://www.cnblogs.com/zhangdezheng/p/17412497.html

相关文章

  • 通过java执行导出命令,导出dup数据文件到指定位置
    /***1.通过java执行导出命令,导出dup数据文件到指定位置*2.清空表数据,为下一次解析准备*/publicvoidexpDupDataByJaveProcess(){booleansuccess=true;//导致是否成功标识,成功修改为falseStringcmdSql="";//导出命令语句......
  • 在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
    在ABAP系统中使用事务码编写OPENSQL向数据库发起查询时,应用层和数据库层之间会发生一系列的交互。让我们详细介绍这个过程,并结合下面这张ABAP三层架构图:用户触发事务码:用户在ABAP系统中输入事务码,比如SE38(ABAP编辑器)或SE11(数据字典),并按下回车键。这将触发ABAP系统在应用层......
  • Plsql或Navicat连接登陆Oracle时慢、执行语句的时候也特别慢的问题解决方案
    用Plsql或Navicat连接登陆Oracle时,等待时间特别长。经过漫长的等待后,执行语句的时候也特别慢,监听配置没毛病的情况下,大概率是监听日志文件过大导致的。监听日志路径:app\Administrator\diag\tnslsnr\LS--20171012URU\listener\trace\listener.log删除listener.log文件即可。......
  • 异步编排多任务异步执行
    参考: https://blog.csdn.net/teachy/article/details/104971814创建线程池:/***自定义线程池*intcorePoolSize,核心线程数=CPU核数*intmaximumPoolSize,最大线程数=CPU核数*2*longkeepAliveTime,等待时间,线程池线程>核心线程数,没......
  • shell脚本使用ssh远程执行命令通过密码的方式登录
    shell脚本使用ssh远程执行命令通过密码的方式登录sshpass是一个在非交互式ssh会话中自动输入密码的工具。它可以直接在命令行中指定密码,因此可以用于Shell脚本等自动化场景。在RedHat系统中,可以通过epel-release源安装sshpass。epel-release源是ExtraPackagesfor......
  • Java POI 导出 Excel,函数(公式)没有自动更新执行
     问题:设置Excel的公式,根据java更新Excel中变量单元格,输出的Excel公式未生效解决方案:在excel取完值之后,生成excel文件之前重新计算一下(在执行)(重置)函数。//shaun字段取完之后再次执行一下公式workBook.setForceFormulaRecalculation(true); 鸣谢:https://cloud.tencent.c......
  • serverAgent运行后,执行jmeter脚本serverAgent闪退问题
     系统的jre环境和serverAgent所需的jre不匹配,根据网上搜的办法,下载一个低版本的jre,然后放到serverAgent目录下:步骤1、下载低版本jre:下载的是18.0.2.1版本2、下载后,放到serverAgent文件路径下 3、用notepad++打开startAgent.bat,添加jre的路径:@echooffcdD:\apache-jme......
  • Javascript执行原理 网页引入javascript的三种方式* javascript核心语法 数据类型 Typ
    Javascript执行原理:用户端发送请求到服务器端将js解析出来的数据(用户身份表示)绑定在请求路径中服务器端获取到参数后会响应客户端客户端通过浏览器解析响应的数据并将数据展现在浏览器上网页引入javascript的三种方式*:使用script标签<scripttype=“text/javascript”>aler......
  • 文件打包成可执行文件(exe)
    文件打包成可执行文件(exe)py文件打包步骤:第一步:安装打包所需要的包(pyinstaller)pipinstallpyinstaller第二步:找到.py文件所在的路径,cmd切换到该路径第三步:输入打包命令pyinstaller-F-w(-iicofile)文件名.py-w:表示在打包好程序后,不会出现黑色的命令窗口,此窗口是用......
  • 使用exe4j将jar包转为exe可执行文件
    1.在idea中使用maven生成jar包进入项目中,找到pom.xml文件 进入文件后,点击idea右侧栏中的maven按钮,进入maven页面 进入页面后,执行clean与package 执行完package打包后会生成一个目录,jar包就在里面了 根据目录进入页面就能看到生成的jar包了2.使用exe4j将生成的jar包......