У меня два вопроса, связанные между собой: 1) Есть ли специальные события, которые реагируют на изменение значения переменной? 2) К примеру есть следующий код:
if(xhr.status == 200){
let jsonic = JSON.parse(xhr.responseText)
}
Как можно сравнить одну и ту же переменную jsonic
с разницей в 2 секунды?
1) Есть ли специальные события, которые реагируют на изменение значения переменной?
Специального события нет, но вы можете написать функции getter/setter. В setter
которых будет либо генерироваться событие, либо выполняться нужный код.
Это сильно улучшит архитектуру, если таких переменных станет больше.
var jsonic = {
_val: 0,
set value(val) {
this._val = val;
// Выполняем нужный код. Опционально можно генерировать событие, зависит от закладываемой архитектуры взаимодействия
alert( val );
},
get value() {
return this._val;
}
};
jsonic.value = 123;
console.log( jsonic.value );
Если необходимо что-то делать только при изменении значения, можно немного модифицировать код:
var jsonic = {
_val: 0,
set value(val) {
if( this._val == val ) {
return false;
};
this._val = val;
// Выполняем нужный код. Опционально можно генерировать событие, зависит от закладываемой архитектуры взаимодействия
alert( val );
},
get value() {
return this._val;
}
};
jsonic.value = 123;
console.log( jsonic.value );
// Второго alert не будет
jsonic.value = 123;
var oldJsonicText;
var jsonicText;
setInterval(function() {
if (oldJsonicText != jsonicText) {
...
oldJsonicText = jsonicText;
}
}, 2000);
if(xhr.status == 200){
if (jsonicText != xhr.responseText) {
...
jsonicText = xhr.responseText;
}
let jsonic = JSON.parse(xhr.responseText);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как я могу удалить элемент вложенного массива? Типа: array[i][j], где j - удаляемый элемент
Не запускается таск watch, сервер стартует, а после него ничегоВ чем проблема и как исправить?
Пытаюсь настроить окружение для работы с webpackМодули npm загружены, там есть jquery и первый плагин - YTPlayer
Хочу вывести на страницы данный в таком формате: [{'group_name': <>, 'date': [<>,<>,