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