js 轮询API取返回值判断

哪位大哥可以在我下面的基础上给我修改一下呀。
就是需要JS 1秒一次轮询API,取返回json的值,判断JSON里qr_code不为null,执行qr_code的值。继续轮询直至一分钟后无结果停止轮询。提示刷新。

这是我的JS代码

                  function agreeGotoTb(btn) {
            $(btn).attr("disabled", "disabled").val("请等待...");

        var app = new Vue({
            el: '#app',
            data: {
                json_file: '',
                uuid:'<?php echo $uuid;?>'
            },
            methods: {
                getData: function () {
                    var self = this;
                    reqwest({
                        url: 'http://111.21.189.33:8000/redirect',
                        type: 'json',
                        method: 'get',
                        crossOrigin: true,
                        data: {uuid:this.uuid},
                        success: function (resp) {
                            self.json_file = resp;
                             window.location.href= self.json_file['qr_code'];
                        }
                    })
                }
            },
          created: function () {
            this.getData();
          }
        })
        }

    function agreeGotoTb(btn) {
        $(btn).attr("disabled", "disabled").val("请等待...");

        var app = new Vue({
            el: '#app',
            data: {
                json_file: '',
                uuid: '<?php echo $uuid;?>',
                timer:null,
                count:0///////////计数
            },
            methods: {
                getData: function () {
                    var self = this;
                    reqwest({
                        url: 'http://111.21.189.33:8000/redirect',
                        type: 'json',
                        method: 'get',
                        crossOrigin: true,
                        data: { uuid: this.uuid },
                        success: function (resp) {
                            self.json_file = resp;
                            clearInterval(self.timer)
                            window.location.href = self.json_file['qr_code'];
                        }
                    })
                }
            },
            created: function () {
                this.getData();
                //计时器轮训
                var me = this;
                this.timer = setInterval(function () {
                    me.getDate();
                    me.count++;
                    //超过60次停止计时器
                    if (self.count >= 60) {
                        clearInterval(self.timer);
                        alert('无结果,请刷新页面')
                    }
                }, 1000);
            }
        })
    }

图片说明@showbo

图片说明

图片说明

图片说明

图片说明