首页 > 其他分享 >前端菜鸡流水账日记 -- setTimeout定时器

前端菜鸡流水账日记 -- setTimeout定时器

时间:2024-06-12 11:31:58浏览次数:8  
标签:流水账 定时器 -- timerId 菜鸡 clearTimeout aw 计时 setTimeout

中午好哇,一上午的时间过的真快,这都快要吃午饭啦,突击询问有想好吃什么吗???当然,这不是重点,重点是我今天要说的这个定时器,以及和他搭配的取消定时器,话不多说,开始我们的新内容

setTimeout都不陌生就是定时器,他可以这样用

  setTimeout(() => {
    dealData.forEach(e=>{
      if(aw(e).quan){
        p.planList.push({
          planid:aw(e).planId,
          quan:aw(e).quan,
          detai:aw(e).detai
        })
      }
  })

或者是

  setTimeout(()=>{
    policeFormRef.value.init()
  })

再或者

let timear = setTimeout(() => {
          resolve(true)
        }, 50);

等等等等很多用法,只要是可以用得到定时器的地方,功效还是很大的1000=1s哦,基本格式也简单就是setTimeout(()) = 》{ }

说完了setTimeout这个定时器,跟他打配合的当然是清除定时器clearTimeout(),它 是JavaScript中的一个函数,用来取消由setTimeout设置的定时器

在Vue.js环境中使用此函数时,你可能会在以下场景见到它:

  1. 组件卸载前清理资源:为了防止内存泄漏,在Vue组件的生命周期钩子beforeUnmountunmounted中,可以调用clearTimeout来取消尚未执行的定时任务。

  2. 表单验证、输入提示等交互控制:在用户交互过程中,如果需要根据特定条件启动一个定时器(比如显示提示信息一段时间后自动隐藏),那么在条件改变时(如用户输入、点击按钮等),可以通过clearTimeout来取消旧的定时器并重新设置,以保证UI行为的准确性

下边是一个例子:

<template>
  <button @click="startTimer">开始计时</button>
  <button @click="stopTimer">停止计时</button>
</template>

<script>
export default {
  setup() {
    let timerId = null;

    const startTimer = () => {
      timerId = setTimeout(() => {
        console.log('计时结束');
      }, 5000);
    };

    const stopTimer = () => {
      if (timerId) {
        clearTimeout(timerId);
        timerId = null;
        console.log('计时已停止');
      }
    };

    return {
      startTimer,
      stopTimer,
    };
  },
};
</script>

在这个例子中,当用户点击“开始计时”按钮时,会启动一个5秒后的计时任务;点击“停止计时”按钮,则会取消这个计时器。 

代码中使用到的像这样

    let timear = setTimeout(() => {
          clearTimeout(timear)
          resolve(true)
        }, 50);
      }

在内部,自己使用完自己消除,避免造成内存多余的占用,或者出现其他的bug

好啦,这就是这篇文章我要说的内容啦,下次见 

标签:流水账,定时器,--,timerId,菜鸡,clearTimeout,aw,计时,setTimeout
From: https://blog.csdn.net/weixin_69868770/article/details/139621437

相关文章

  • Linux下的lvm镜像与快照
    lvm镜像(mirror)(1)划分三个PV,其中2个PV大小要一模一样Disk/dev/sdb:21.5GB,21474836480bytes255heads,63sectors/track,2610cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(m......
  • nginx的rewrite功能介绍
    Rewrite规则ex:http://hostname/abc/abc.html–>http://hostname/abc.php?abcRewrite对称URLRewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。URLRewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/ne......
  • SVMSPro –国标28181共享上级功能
    SVMSPro–国标28181共享上级功能在实际项目中,SVMSPro国标网关平台,需要共享通道给上级平台。这时接入到SVMSPro中的,可能只是设备通道。那如何共享组织给上级呢?SVMSPro国标网关平台,可以自定义设备组织树共享给上级国标平台。也可以根据分组组织机构自定义共享给上级国标平......
  • GraphQL的优势和开发模式
    当下,前后端分离是互联网应用程序开发的主流做法,如何设计合理且高效的前后端交互WebAPI是前端和后台开发人员日常开发工作的一大难点和痛点。回想我们在日常开发过程中经常会碰到的几个场景:后台开发人员调整了返回值的类型和数量而没有通知到前端后台开发人员修改了某一个字段......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
      01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
      01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
      01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • 人工智能——机器学习——神经网络(深度学习)
    一.人工智能:人工智能是让机器获得像人类一样具有思考和推理机制的智能技术,这一概念最早出现在1956年召开的达特茅斯会议上。其中深度学习可以理解为神经网络。刚开始只有神经网络的概念,随着神经网络的层数增加,就逐渐将神经网络叫做深度学习。神经网络发展简史:神经网络的......
  • 浅谈 Java 引用:弱引用 WeakReference
    前言最近在测试micrometer的Gauge度量时,发现被观察的目标对象,在一开始时能被采集到指标,过了一段时间后(jvm发生了gc),被观察对象的指标采集不到了,经过跟踪发现,Gauge在构建被观察对象时,使用了Java的弱引用。测试场景回溯目标为了采集httpclient的连接管理器(连接池)的指标......
  • 《软件定义安全》之六:SDN和NFV安全实践
    第6章SDN和NFV安全实践1.基于流的安全防护1.1DDoS检测清洗DDoS检测清洗应用ADSAPP的设计思路:借助安全控制平台中流相关的组件,从SDN控制器中获得相应的流量,并根据抗DDoS应用订阅的恶意流特征进行检测,发现恶意流量后,应用可根据细粒度的检测判断是否出现恶意攻击。如是,则......