Обновление chart.js с помощью ajax, условная ошибка
Я пытаюсь автообновить мой график js через ajax, но мой оператор if всегда возвращает неправильный awnser на первом итере, есть идеи почему? Спасибо еще раз. Скажите мне, если вам нужно что-то еще.
var datanp = JSON.parse("{{data|escapejs}}");
var label = JSON.parse("{{label|escapejs}}");
console.log('checkin',datanp)
console.log('follow up',label)
const data = {
labels: label,
datasets: [{
label: 'My First dataset',
backgroundColor: 'rgb(0, 99, 132)',
borderColor: 'rgb(0, 99, 132)',
data: datanp,
}]
};
const config = {
type: 'line',
data: data,
options: {}
};
const myChart = new Chart(
document.getElementById('myChart'),
config
);
setInterval(addData, 10000);
//setting the loop with time interval
function addData() {
$.ajax({
method: 'get',
url: "/hello-world/",
success: function(response) {
let labels = String(response.labels);
let datas = response.datas;
console.log('check', String(label.slice(-1)));
console.log('in', labels);
myChart.data.labels.slice(-2)[1]);
if (labels == String(label.slice(-1))) {
console.log('same content');
} else {
console.log('updating content', labels, 'to', String(label.slice(-1)));
myChart.data.datasets[0].data.push(datas);
myChart.data.labels.push(labels);
myChart.update();
};
myChart.update();
}
}
});
}
значения, возвращаемые всеми переменными, верны, все работает, кроме if, который всегда ошибается при первом итересе. После этого он выдает правильный ответ, но в первом случае создается дубликат последнего значения .
def hello_world_view(request):
_,data=connect_influx(listed={"mesure": ["U", [0, 10], "mesure"]},database='test')
labels=dumps(data.timestamp.astype(str).values.tolist()[-1])
datas=dumps(data.U.values.tolist()[-1])
return JsonResponse({'datas':datas,'labels':labels},status=200)