我有一个名为$ scope.propname的名单,其中有一个名为latlong的对象,所以我需要找到所有属性从特定位置的距离,所以这里是我在做什么
for (var i = 0; i < $scope.propname.length; i++) {
if ($scope.propname[i].latlong == "") {
var pptlatlong = ("" + "," + "");
} else {
var pptlatlong = $scope.propname[i].latlong.replace(/\s*,\s*/g, ",");
}
var latlongdata = {
scoord: $scope.loclatlong,
ecoord: pptlatlong
}
$http({
method: 'post',
data: latlongdata,
url: $rootScope.ServiceBaseUri + 'Map/geolocation'
}).then(function successCallback(resp) {
$scope.latlongdist = resp.data;
}, function errorCallback(resp) {});
$scope.propname[i].dist = $scope.latlongdist;
}
因此,所有在列表中的命名DIST对象是相同的值后的整个循环ends.It应该是HTTP响应循环继续之前,我想所有的属性不同的是,有办法等到的HTTP每个循环结束,然后继续?
不要使用'$ scope'属性作为计算公式的临时变量。 – Claies
@Claies你的意思是我保存http action的响应的范围? – Melvin
不要使用'$ scope.latlongdist';如果使用'$ scope',则只应附加到您实际打算在HTML中显示的'$ scope'属性。您的计算失败,因为即使有多组坐标,每组都共享一个输出变量。 – Claies