Обновление 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)
Вернуться на верх