如何检查由计时器定期设置的变量值是否发生变化?

时间:2019-02-22 20:07:08

标签: javascript jquery ajax

我有这个jQuery:

setInterval(function() { 
    var myRequest = $.ajax({ 
        //ask php to count rows from mysql table
        //data gets loaded with integer value
    });

    myRequest.done(function(data){ 
        var rowcount = JSON.stringify(data.data[0]).replace(/\"/g, ""); //integer value
    });

}, 5000);

因此,基本上,每5秒对MySql表中的行进行计数。

我的问题是,将新行添加到表中后,rowcount将会更改(例如+1)。如何让jQuery知道有更改?

1 个答案:

答案 0 :(得分:0)

跟踪最后一个行计数并进行比较,如Scott的评论所述:

let rowcount = 0;
function onRowcountChange() {
  // do something spiffy here
}

setInterval(function() { 
    var myRequest = $.ajax({ 
        //ask php to count rows from mysql table
        //data gets loaded with integer value
    });

    myRequest.done(function(data){ 
        var newrows = JSON.stringify(data.data[0]).replace(/\"/g, ""); //integer value
        if(newrows !== rowcount) { // if the value changed
            onRowcountChange(); // do your update code
            rowcount = newrows; // set rowcount to new value
        }
    });

}, 5000);