美文网首页
setInterval函数使用方法及小例

setInterval函数使用方法及小例

作者: 守护银河的河童 | 来源:发表于2018-11-14 22:12 被阅读0次

    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

    }

    相关文章

      网友评论

          本文标题:setInterval函数使用方法及小例

          本文链接:https://www.haomeiwen.com/subject/sybjfqtx.html