vue使用定时器的问题

问题 : 清除定时器的时候,,会出现清除失败的事情

已解决 : 

例如 下了下面的定时器

   this.zhiFshi_time = setInterval(() => {

        console.log("我是定时器");

   }, 1000);

常规做法  window.clearInterval(this.zhiFshi_time); 会出现清除不掉的情况,

原因 :

在控制台打印的时候,会发现 this.zhiFshi_time会是两个值 一个是number一个是对象

如果直接清除,,number可以清掉,对象则会报错,  

 一开始的解决办法如下: (可以暂时解决(但不是最好的))

        //关闭定时器

        if (this.zhiFshi_time instanceof Object) {

          window.clearInterval(this.zhiFshi_time._id);

          this.zhiFshi_time = null;

        } else {

          window.clearInterval(this.zhiFshi_time);

          this.zhiFshi_time = null;

        }

后来发现 : 

import { setInterval, clearInterval } from "timers";

import { setTimeout, clearTimeout } from "timers";

这两个引入,,在写了定时器的时候,,和清除定时器时,,,会自动引入

引入这个和不引入会直接导致 定时器的值变成number或者obj, 加个判断更为保险

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容