uni-app 中清除定时器实现方法详解

 更新时间:2023年07月10日 11:21:23   作者:瑟闻风倾  
这篇文章主要为大家介绍了uni-app 中清除定时器实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

uni-app 中清除定时器

JS之延时器和定时器

注意

无论是获取短信码,还是在活动页轮询获取当前活动最新信息,都需要用到定时器。但是,定时器如果不及时合理地清除,会造成业务逻辑混乱甚至应用卡死的情况。

uni-app 中在某个页面中启动定时器后,一定要在页面关闭时将定时器清除掉。即在页面卸载(关闭)的生命周期函数里,清除定时器。

参考方法

定时器的方法

定时器一般有两个

1)setTimeout();//n毫秒后执行一次

2)setInterval();//每隔n秒执行一次

这两个方法都有个返回值,返回一个定时器id,可以定义一个变量接收

清除定时器方法

setTimeout()对应的是 clearTimeout(id);

setInterval()对应的是 clearInterval(id);

例如:

  var time = setInterval("lunRight()",3000);//自动轮播
  box.onmouseover=function(){
    clearInterval(time);
}//鼠标移入轮播图时取消自动轮播
   var i = setTimeout(function(){
   },1000); //setTimeout 1000ms后执行1次
    clearTimeout(i); //清除Timeout的定时器,传入id(创建定时器时会返回一个id)

若没有加判断条件和将timer = null,会导致页面卸载的时候无法清空定时器。

onUnload:function(){  
    if(this.timer) {  //在页面卸载时清除定时器有时会清除不了,可在页面跳转时清除
        clearInterval(this.timer);  
        this.timer = null;  
    }  
}

优化:清除时机(在页面卸载时清除定时器有时会清除不了,可在页面跳转时清除)

clearMyTimer:function(){
    if(timer) {
        console.log("check-清除定时器"); 
        clearInterval(timer);  
        timer = null;  
    }
},
logout:function(){
    _self.sendRequest({
        url : "user/logout",
        data : {
            mobile : _self.userPhone
        },
        success:function(res){
            _self.clearSession();//清空token
            _self.clearMyTimer();//清除定时器
            uni.reLaunch({
                url: "/pages/login2/login2"
            })
        },
        fail:function(e){},
        complete:function(){}
    })
},

以上就是uni-app 中清除定时器的详细内容,更多关于uni-app 清除定时器的资料请关注脚本之家其它相关文章!

相关文章

  • JavaScript中表格文件导出的实现示例

    JavaScript中表格文件导出的实现示例

    本文主要介绍了JavaScript中表格文件导出的实现示例,JavaScript中的Blob对象和a标签的download属性是实现这一功能的关键,本文就来详细的介绍一下,感兴趣的可以了解一下
    2024-01-01
  • Bootstrap实现带暂停功能的轮播组件(推荐)

    Bootstrap实现带暂停功能的轮播组件(推荐)

    最近小编在项目中用到了一款带轮播组件,功能非常齐全,可以设置各种标题样式、动画效果、轮播时间、开始暂停等功能,下面小编通过本文给大家详细介绍下实现过程,需要的朋友参考下吧
    2016-11-11
  • JS实现仿中关村论坛评分后弹出提示效果的方法

    JS实现仿中关村论坛评分后弹出提示效果的方法

    这篇文章主要介绍了JS实现仿中关村论坛评分后弹出提示效果的方法,实例分析了javascript弹出特效的css与提示框的具体实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • javascript实现2016新年版日历

    javascript实现2016新年版日历

    这篇文章主要为大家介绍了javascript实现2016新年版日历的详细代码,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JS实现弹出下载对话框及常见文件类型的下载

    JS实现弹出下载对话框及常见文件类型的下载

    JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能
    2017-07-07
  • JS中如何实现复选框全选功能

    JS中如何实现复选框全选功能

    本文通过实例代码给大家介绍了js中实现复选框全选功能,代码简单易懂,非常不错,需要的朋友参考下
    2016-12-12
  • 小程序input数据双向绑定实现方法

    小程序input数据双向绑定实现方法

    这篇文章主要介绍了小程序input数据双向绑定实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 教你5分钟学会用requirejs(必看篇)

    教你5分钟学会用requirejs(必看篇)

    下面小编就为大家带来一篇教你5分钟学会用requirejs(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • JavaScript、jQuery与Ajax的关系

    JavaScript、jQuery与Ajax的关系

    这篇文章主要介绍了 JavaScript、jQuery与Ajax的关系的相关资料,需要的朋友可以参考下
    2016-01-01
  • layer 关闭指定弹出层的例子

    layer 关闭指定弹出层的例子

    今天小编就为大家分享一篇layer 关闭指定弹出层的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论