setInterval函数使用方法及小例

setInterval含义

1、setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

2、setInterval() 方法会不停地调用函数,直到 clearInterval(params) 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

    let id = setInterval(

        function(){

            console.log('执行定时任务,id =',id)

        }

    ,1000)



clearInterval(params) 用法

1、params必选参数

2、clearInterval 将清除返回为params参数的定时任务

    let id = setInterval(

            function(){

    console.log('执行定时任务,id =',id)

            }

        ,1000)

setTimeout(

    () => {

        clearInterval(id)

        console.log('5秒后将清除定时任务,id=',id)

    },5000

)


使用场景

1、web端,列表需要定时更新时

let id = setInterval(

            function(){

                ...

                获取列表的请求

                ...

            }

        ,1000)

2、web端,列表需要定时更新,在某一特定情况下需清除定时任务

let id = setInterval(

            function(){

                ...

                   if(特定情况){

                        clearInterval(id)

                    }else{

                        ...

                            发送请求

                        ...

                    }

                ...

            }

        ,1000)

3、如果需要反复触发,可设置一个全局变量接收返回id值,触发时先清除id,再跑任务

let copyID = 0; // 全局变量

function reload(){

    clearInterval(copyID)

    let id = setInterval(

            function(){

                ...

                   if(特定情况){

                        clearInterval(id)

                    }else{

                        ...

                            发送请求

                        ...

                    }

                ...

            }

        ,1000)

copyID = id

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简述JavaScript起源起源于美国的Netscape公司,原名为LiveScript,后改为JavaScrip...
    3ab670b99521阅读 8,196评论 0 0
  • 1.运行一个nodejs文件, 如一个js文件中只含有console.log("hello world");的文件...
    不忘初心_9a16阅读 11,106评论 0 8
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,360评论 1 10
  • Overview The ccxt library is a collection of available cr...
    郭蝈儿蝈儿阅读 9,229评论 0 1
  • 公司:宁波大发化纤有限公司 姓名:冯玉停 期数:六项精进224期感谢二组学员,234期感谢三组志工,260期感谢一...
    尘埃wyzh阅读 975评论 0 0