简单的方法是通过标志位的方式,初始化值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
})
}
网友评论