Я могу вывести значение serviceId на консоль, но когда я пытаюсь сравнить его в if (), я получаю эту ошибку. Подскажите, пожалуйста, почему это происходит и как ее решить, пожалуйста?
Я также пытался поместить значение servicesCompare1 [i] .serviceId в переменную, и я получил ту же ошибку.
var servicesCompare1 = [];
var servicesCompare2 = [];
$.getJSON("http://localhost:55972/api/status", function (data) {
self.services(data.services);
self.lastCheck = data.lastCheck;
servicesCompare1 = (data.services);
});
function DashboardRefresh() {
self.servicesRefresh = ko.observable([]);
$.getJSON("http://localhost:55972/api/status", function (data) {
servicesCompare2 = (data.services);
self.servicesRefresh(data.services);
});
if (servicesCompare2.length > servicesCompare1.length) {
for (i = 0; i < (servicesCompare2.length-1); i++) {
console.log(servicesCompare2[i].serviceId);
if (servicesCompare1[i].serviceId !== servicesCompare2[i].serviceId) {
self.services.push(servicesCompare2[i]);
}
}
}
}
setInterval(DashboardRefresh, 5000);
Вывод на консоль:
47
48
49
... другие идентификаторы
Uncaught TypeError: Невозможно прочитать свойство 'serviceId' из неопределенного
в DashboardRefresh (NetworkStatus.html: 66)