【问题标题】:Issue with accessing callback data property访问回调数据属性的问题
【发布时间】:2013-11-10 03:56:26
【问题描述】:

这段 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 一样。

【问题讨论】:

  • 控制台抛出任何错误?
  • 您是否已验证(例如,通过console.log 输出)lastIDdata.message[0].ID 是您所期望的?
  • 啊,是的。 'Uncaught SyntaxError: Illegal continue statement'

标签: javascript jquery node.js socket.io


【解决方案1】:

'Uncaught SyntaxError: Illegal continue statement' 是问题所在。我删除了继续并在那里放置了一条日志消息,以通知没有发现更新。代码现在可以正常工作。谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多