当前位置: 移动技术网 > IT编程>开发语言>JavaScript > vue watch监听验证码时,axios延迟发送post请求。

vue watch监听验证码时,axios延迟发送post请求。

2019年03月08日  | 移动技术网IT编程  | 我要评论

标题写的全面一些,方便其他人检索,我就是找了半天找不到资料,最后自己搞定了。

原理:

每次监听到输入值变化,就打一个时间戳,然后暂停2秒再去提交post验证。

但是每次提交前,判断一下之前打的时间戳和现在时间是否大于2秒,如果大于,则真去提交post,否则return掉不执行。

以下是代码片段:

 

data () {
     return {
        captchainputlasttime:null,
    }

watch: {
// 监听验证码变化
'formdata.captcha': async function(newval){

                var delay = 2000;//延迟2000 毫秒执行
                this.captchainputlasttime = (new date()).valueof();
                await this.$root.sleep(delay);
                var nowtime = (new date()).valueof();
                var gap = nowtime - this.captchainputlasttime;
                if( gap  < delay){
                    return
                }

                axios.post。。。。。执行验证逻辑。
}

methods: {
        sleep (ms = 1000) {
                return new promise((resolve)=>settimeout(resolve,ms));
        },
}

  

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网