Как проверить, изменяется ли значение переменной, периодически устанавливаемое таймером? - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть этот 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);

Таким образом, по сути, подсчитывать строки из таблицы MySql каждые 5 секунд.

Мой вопрос заключается в том, когда в таблицу добавляется новая строка, rowcount изменится (например, +1).Как я могу сделать так, чтобы jQuery знал, что есть изменение?

1 Ответ

0 голосов
/ 22 февраля 2019

отслеживайте последний счетчик строк и сравнивайте его, как указано в комментарии Скотта:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...