我正在從角度應用程序,它從API加載數據。Javascript的不穩定行爲 - 無法讀取未定義的屬性'經度'
一切工作正常,但在Chrome定期收到此錯誤CONSOLE.LOG
TypeError: Cannot read property 'longitude' of undefined
這會導致一些後續的功能,功能障礙以及。該生產線的角度抱怨的,是以下
function updateMapWaypoint(lastposition) {
console.log("updateMapWaypoint(%s) called", lastposition);
console.log($scope.units[$scope.selectedUnitIndex]);
var longitude = (lastposition) ? $scope.units[$scope.selectedUnitIndex].lastposition.gps.longitude : $scope.unsortedPositions[$scope.selectedPositionIndex].gps.longitude;
凡兩個第一的調試,最後一個,造成麻煩就行了。據我可以從控制檯中的printet對象看到。 Javascript應該沒有問題找到對象的經度,但它會拋出錯誤,我找不到任何方法來解決它。
所有幫助表示讚賞,如果需要更多的細節,我會盡可能爲我提供。
不管出於何種原因,錯誤意味着其中一個'lastposition'對象沒有「gps」屬性,或者它的值是'undefined'。 – Pointy
更好的方法來解決這個問題,將你的#314行分成多行,如果有其他行和多行。你可以得到哪一行,哪個對象是未定義的。 –
由於'gps'出現在控制檯中,我的猜測是你正在發出一個AJAX請求來獲取數據,但是在你嘗試使用響應之前請求還沒有返回。控制檯不會及時提供快照。它提供了對象的實時視圖。 – 2015-11-08 15:00:34