【发布时间】: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输出)lastID和data.message[0].ID是您所期望的? -
啊,是的。 'Uncaught SyntaxError: Illegal continue statement'
标签: javascript jquery node.js socket.io