vue watch监听验证码时,axios延迟发送post请求。 - Go语言中文社区

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


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

原理:

每次监听到输入值变化,就打一个时间戳,然后暂停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));
        },
}

  

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/alpiny/p/10492230.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-17 14:22:57
  • 阅读 ( 1190 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢