首页 > 其他分享 >setTimeout定时,但是退出页面还执行,如何解决

setTimeout定时,但是退出页面还执行,如何解决

时间:2024-02-04 15:01:00浏览次数:15  
标签:执行 setTimeout clearTimeout 定时器 定时 timerId 页面

setTimeout定时,但是退出页面还执行,如何解决
定时器的使用需记得清清除
使用对象变量赋值执行

在处理 setTimeout 定时器时,如果用户在定时器触发之前离开页面,你可以使用 clearTimeout 方法来清除定时器,以确保定时器不会在页面关闭后继续执行。以下是一个示例,展示如何使用 clearTimeout 解决这个问题:

let timerId;

function startTimer() {
  timerId = setTimeout(() => {
    // 执行定时器逻辑
    console.log("定时器触发");
  }, 5000);
}

function stopTimer() {
  clearTimeout(timerId);
}

在上述示例中,我们首先声明了一个 timerId 变量来存储 setTimeout 返回的定时器 ID。

startTimer 函数用于启动定时器,当用户触发某个事件或条件满足时调用该函数。在这个例子中,我们将定时器设置为 5 秒钟,即 5000 毫秒。你可以根据需要调整定时器的延迟时间和执行逻辑。

stopTimer 函数用于停止定时器,在用户离开页面或不再需要定时器时调用该函数。它使用 clearTimeout 方法传入之前保存的 timerId,以清除定时器。

通过使用 clearTimeout 方法,你可以在用户离开页面时停止定时器的执行,避免定时器继续在后台执行。确保在适当的时机调用 stopTimer 函数,例如在页面卸载事件或其他适合的地方调用。

标签:执行,setTimeout,clearTimeout,定时器,定时,timerId,页面
From: https://www.cnblogs.com/yoona-lin/p/18006187

相关文章

  • 如何出一份前端页面的性能分析报告?
    编写一份前端页面性能分析报告,需要按照一定结构和步骤来详细记录测试过程、数据收集、问题识别与优化建议。以下是一个基本的模板框架:一、前言目的:简述报告的目的,比如评估特定网页在不同环境下的加载速度、渲染效率及用户体验。范围:明确分析涉及的页面及其版本信息,以及使用的......
  • BeautifulSoup爬虫库应用——Python 页面解析
    爬虫技术作为信息搜集的重要手段,在大数据时代发挥着至关重要的作用。通过网络爬虫,可以高效地从各种在线源头获取大规模、多样化的数据,为大数据分析和应用提供了必要的原始材料。首先,爬虫使得大数据的采集更为全面和及时。网络上存在着庞大的信息资源,包括社交媒体、新闻网站、电子......
  • 安卓开发八——页面切换的关联
    我们开始的页面是我们的所有条目所在的月份,所以我们要设计监听事件,当点击时就会切换到这个月的账单界面。我们还要将这个月份的值带入下一个页面,然后根据这个值来插寻账本条目。listView.setOnItemClickListener(newAdapterView.OnItemClickListener(){@Overrid......
  • 安卓开发七——主管理页面
    新增月份管理页面,将新增账本移植到这个页面主页面视图<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height......
  • 安卓开发四——账本基本页面
    账本基本页面就是一个添加页面,一个浏览页面,浏览页面的一条数据项是一个视图。<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto&quo......
  • 安卓开发九——长按删除记录和定时刷新页面
    这里我们完成了账本条目数据的查看方法和账本条目的添加,但是当我们发现账本的数据有错误是,我们目前还不能删除。于是我们接下来要完成条目的删除的功能。这里我们在查看某个的账本的明细的页面来操作,我这里采用设置长按下删除。listView.setOnItemLongClickListener(new......
  • 安卓开发二——项目内容和页面跳转
     创建一个初始目录后会又以下的几个文件目录manifests中有一个Androidmanifests.xml的文件它包含了我们这个软件的图标、名字等的基本信息 其中的activity标签中是我们的app所要使用的页面的注册信息 Java的文件目录中我们主要使用的就是第一个文件目录,其中的Java代码包......
  • FreeRTOS--软件定时器
    示例源码基于FreeRTOSV9.0.0软件定时器1.概述软件定时器用来在未来某个时间点执行某个动作,或者周期性地执行某个动作;软件定时器的实现依赖于系统滴答中断。2.设计原理定时器分为单次定时器和周期定时器,定时时间到执行注册的回调函数。单次定时器触发后即睡眠(不会销毁,依旧......
  • IIS网站定时停止和启动
     一,创建2个批处理文件iisstart.bat@echooffnetstartiisadminnetstartw3svc iisstop.bat@echoofftaskkill/f/imw3wp.exeiisreset/STOPtaskkill/f/imw3wp.exe 二,通过windows自带“任务计划程序”定时执行批处理命令 下面注意权限 为“使用最......
  • Trino-登录WebUI页面报错,日志中提示:
    问题描述启动Trino客户端执行showcatalogs时报错:Errorstartingqueryathttp://localhost:8080/v1/statementreturnedaninvalidresponse。 此时在浏览器中访问TrinoWebUI,http://192.168.80.133:8080,页面报错:404 NotFound. 问题原因(1)查询Trino日志发现:BindEx......