访问回调数据属性的问题

时间:2013-10-30 14:09:35

标签: javascript jquery node.js socket.io

这段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语句if (data.message[0].ID != lastID)有关。有什么想法导致这种打破? data,message[0].ID应该有一个值,就像data.message[i].Latitude那样。

1 个答案:

答案 0 :(得分:0)

'未捕获的SyntaxError:非法继续声明'是问题所在。我删除了继续并在那里放置了一条日志消息,以通知没有发现更新。代码现在工作正常。谢谢!