微信小程序-定时器setTimeout的应用场景

       这次开发小程序遇到一个聊天的场景:在聊天页时,用户收到消息后,页面并未自动滚动到页面最底部,而是需要手动滚动。但,聊天数据又是拉接口调用直接更改的聊天数据数组,怎么控制刷新聊天数据只调用一次滚动到底部的方法scrollToBottom成为了问题。

       这里就可以巧妙的应用setTimeout这个东西。代码如下

var timer= false

function toBottom(){
    if(timer){
        clearTimeout(timer)
        timer = false;    
    }

    timer = setTimeot(function(){
        wx.pageScrollTo({
            scrollTop:999,
            duration:0
        })
    },300)
}

//这样多次调用toBottom()timer,只执行一次

//基本思想是,使用false当开关。在300s内重复调用的话,不会重复触发。其实也是有点点的取巧,只要数据改变的够快,我就不会重复走

 

你可能感兴趣的:(前端开发,微信小程序)