javascript - 当变量为 "x"时查询clearInterval

标签 javascript jquery ajax setinterval clearinterval

我创建了一个函数,可以使用 AJAX 控制数据库中的某一行的某个数字。 我使用 click 函数调用该函数,并将该函数放入 setInterval 函数中,以每秒检查 10 次。

一开始它会返回 0,但在某个时刻(通常在 5 秒内)它会返回一些大于 0 的值,此时我想清除Interval。

但我不知道该怎么做?

这是我的功能:

function get_buzzer() {
$.ajax({
    url: 'ajax_buzzer.php',
    dataType: 'json',
    async: false,
    type: 'post',
    data: {
        job: 'get'
    },
    success:function(s) {
        if(s['number'] == 0) {
            var player = false;
        } else {
            var player = true;
        }
    }, error:function(e) {
    }
});
}

$(document).ready(function() {
    $('#test').click(function() {
        var buzzer = setInterval("get_buzzer()",100);
    });
});

最佳答案

你可以做类似的事情

$(document).ready(function () {
    //make buzzer a share variable
    var buzzer;
    $('#test').click(function () {
        buzzer = setInterval(get_buzzer, 100);
    });

    function get_buzzer() {
        $.ajax({
            url: 'ajax_buzzer.php',
            dataType: 'json',
            async: false,
            type: 'post',
            data: {
                job: 'get'
            },
            success: function (s) {
                if (s['number'] != 0) {
                    //if number is not 0 then clear the interval
                    clearInterval(buzzer)
                }
            },
            error: function (e) {}
        });
    }
});

关于javascript - 当变量为 "x"时查询clearInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627304/

相关文章:

javascript - 在所有其他 AJAX 调用之前发送 AJAX 调用

javascript - 重复的键值违反唯一约束 - 使用 KnexJS 和 Postgresql

javascript - node.js中tls模块的newSession事件返回的session id类型

javascript - AngularJS Jasmine spyOn : number is not a function

javascript - 如何同时使用href和click监听器?

javascript - 复选框选项=选择选项-AngularJS

javascript - Backbone 部分 View 未呈现最新模型

javascript - Turn.js 基于窗口宽度的显示选项

php - 在不重新加载页面的情况下从 MYSQL 表更新值?

javascript - 使用 Ajax 调用从 NodeJS 向客户端发送数据