Невозможно прочитать свойство 0 неопределенного

Я получаю Uncaught TypeError: ошибка "Не удается прочитать свойство '0' из неопределенного". Я просто не могу понять проблему.

Хотя программа работает нормально, и я получаю желаемый результат. Но ошибка...

Снимок экрана консоли Снимок консоли / соответствующий объект

$(window).bind("load", function() {

var ws = new WebSocket("wss://www.bitmex.com/realtime?subscribe=trade:XBTUSD");

ws.onopen = function(){
  ws.send(JSON.stringify({"trade":"XBTUSD"}))
};

ws.onmessage = function (msg){
    var resp = JSON.parse(msg.data);
    console.log(resp);  

    var price = resp['data'][0].price; // can not read property 0 of undefined :/

    console.log('Price is : ' + price);


};

});

1 ответ

Решение

Проверьте resp/resp.data является нулевым или нет. Если resp/resp.data null, в индексе ничего нет 0,

   ws.onmessage = function (msg){
       var resp = JSON.parse(msg.data);
       console.log('Data : ' + data);  
       console.log('resp: ' + resp);  
       var price;
       if(resp && resp.data){
          price = resp.data[0].price; // can not read property 0 of undefined :/
       }

       console.log('Price is : ' + price);

      //document.getElementById('btcPrice').value = price;

   };
Другие вопросы по тегам