解决小程序navigateTo点击过快,重复跳转页面问题

2020-12-24  本文已影响0人  ioido

简单的方法是通过标志位的方式,初始化值locked=false,判断为true就return,false继续网络请求。
注意不是在网络请求成功更改标志位,而是在跳转成功加延时更改标志位,因为跳转方法默认有300ms延时

navto:function() {
                if (_self.locked) {
                    return
                }
                _self.locked = true
                var postData = {
                }
                let p = post(url, postData, true)
                p.then(res => {
                    if (res.success) {
                            uni.navigateTo({
                    url: '',
                    complete() {
                        let t = setTimeout(function(){
                            _self.locked = false
                                                        clearTimeout(t)
                        },500)
                    }
                })
                    }
                }, err => {
                    _self.locked = false
                })
            }
上一篇 下一篇

猜你喜欢

热点阅读