如何在javascript中找到地理代码响应的结尾?

如何在javascript中找到地理代码响应的结尾?,javascript,google-maps-api-3,geocode,Javascript,Google Maps Api 3,Geocode,我尝试了上面的承诺,得到的响应在“承诺.然后(函数(响应)”中未定义.我做错了什么吗?因为获取latlng需要时间,所以他们决定在后台执行操作,这不会阻止主线程。对于这种饱和,您可以将代码移到回调中,或者使用 window.findLL = function() { var address = new Array(); var longlat = new Array(); var j = 0; $('.place').each(fu

我尝试了上面的承诺,得到的响应在“承诺.然后(函数(响应)”中未定义.我做错了什么吗?

因为获取latlng需要时间,所以他们决定在后台执行操作,这不会阻止主线程。对于这种饱和,您可以将代码移到回调中,或者使用

window.findLL = function() {
        var address = new Array();
        var longlat = new Array();
        var j = 0;
        $('.place').each(function()
        {
            address[j] = $(this).val();
            j++;
        });
        for(var i=0;i<address.length;i++)
        {

            var geocoder = new google.maps.Geocoder();
            geocoder.geocode( { 'address': address[i]}, function(results, status) 
            {
                if (status == google.maps.GeocoderStatus.OK)
                {
                    var location = results[0].geometry.location;
                    alert('LAT: ' + location.lat() + ' LANG: ' + location.lng());
                    longlat[i] = location.lat()+'~'+location.lng();
                }
            });
        }
            distanceArrayFinal = findDistance(longlat);
    }
var promise = new Promise(function(resolve, reject) {
directionsService.route(request, function(response, status)
{
    if (status == google.maps.DirectionsStatus.OK)
    {
        resolve(request.response); 
    } 
    else 
    {
        reject(Error(request.statusText)); 
    }
});
});

promise.then(function(response) {
distance = response.routes[0].legs[0].distance.text;
}, function(error) {
console.log('Promise rejected.');
console.log(error.message);
});