这段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
那样。
答案 0 :(得分:0)
'未捕获的SyntaxError:非法继续声明'是问题所在。我删除了继续并在那里放置了一条日志消息,以通知没有发现更新。代码现在工作正常。谢谢!