2013-10-30 27 views
0

這段jQuery代碼問題按預期工作:與訪問回調數據屬性

socket.on('message', function(data){ 
        if(data.message.length > 0) { 
          var pathCoordinates = []; 
          for (var i = 0; i < data.message.length; i++){ 
           var point = new google.maps.LatLng(data.message[i].Latitude, data.message[i].Longitude); 
           pathCoordinates.push(point); 
          } 
          createDialog(pathCoordinates, data); 
        } 
        else 
         console.log("There is a problem:", data); 
       }); 

然而,這沒有。它從來沒有要求createDialog()或輸出錯誤信息:

var lastID; 

socket.on('message', function (data) { 
    if (data.message.length > 0) { 
    if (data.message[0].ID != lastID) { 
     var pathCoordinates = []; 
     for (var i = 0; i < data.message.length; i++) { 
     var point = new google.maps.LatLng(data.message[i].Latitude, data.message[i].Longitude); 
     pathCoordinates.push(point); 
     } 
     createDialog(pathCoordinates, data); 
    } else 
     continue; 
    } else 
    console.log("There is a problem:", data); 
}); 

它與我加,if (data.message[0].ID != lastID) if語句做。任何想法是什麼導致這個打破? data,message[0].ID應該有一個值,就像data.message[i].Latitude一樣。

+1

控制檯丟出任何錯誤? – tymeJV

+0

您是否驗證過(例如,通過'console.log'輸出)您期望的「lastID」和「data.message [0] .ID」? – apsillers

+0

啊,是的。 '未捕獲的SyntaxError:非法continue語句' – gjw80

回答

0

'Uncaught SyntaxError:Illegal continue statement'was the issue。我刪除了繼續,並在那裏放置了一條日誌消息,通知沒有發現更新。代碼現在可以正常工作。謝謝!