Javascript 控制台打印语句时出错

Javascript 控制台打印语句时出错,javascript,console,flow,Javascript,Console,Flow,在下面的代码中,我向GoogleMapsPlacesAPI传递一组坐标并检索本地业务信息。我不明白为什么下面的代码会出现错误。下面的控制台语句应该按此顺序,但正如您在下面看到的,它们不是 "Loop iteration: 0" "PlacesSearchFunction Step 1" "Calling PlacesServiceFunction to GoogleMaps API - Step 2" " Step 3" "End of PlacesSearch Step 4" "final F

在下面的代码中,我向GoogleMapsPlacesAPI传递一组坐标并检索本地业务信息。我不明白为什么下面的代码会出现错误。下面的控制台语句应该按此顺序,但正如您在下面看到的,它们不是

"Loop iteration: 0"
"PlacesSearchFunction Step 1"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Function Starting Step 5"


   run();

   function finalFunction(myBusinessName,results) {

       console.log("final Function Starting Step 5"); 
       .... 


   function placesSearch(myBusinessName,myLatlng) {           

        count = 0;

        console.log("PlacesSearchFunction Step 1");

        //search redius
        var request = {
            location: myLatlng,
            radius: '5000'
        };

        var service = new google.maps.places.PlacesService(map);     

        service.nearbySearch(request, function(results, status) {

            console.log("Calling PlacesServiceFunction to GoogleMaps API Step 2")

            if (status == google.maps.places.PlacesServiceStatus.OK) {
                console.log("Step 3");
            }

            else {    
                console.log("Step 3");               
            }

            console.log("End of placesSearch Step 4");
            finalFunction(myBusinessName,results);
        });           
    }

    } 

    function run() { 
        var count = 0;           
        for (var key in placeObject) {
            if (placeObject.hasOwnProperty(key)) {                    
                console.log("Loop Iteration:" + count++);
                placesSearch(key, placeObject[key]);
            }
        }
    }


"Loop iteration: 0"
"PlacesSearchFunction Step 1"
"Loop iteration: 1"
"PlacesSearchFunction Step 1"
"Loop iteration: 2"
"PlacesSearchFunction Step 1"
"Loop iteration: 3"
"PlacesSearchFunction Step 1"

....Continued to....

"Loop iteration: 29"
"PlacesSearchFunction Step 1"
"Loop iteration: 30"
"PlacesSearchFunction Step 1"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
TypeError: results is null 
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"
"Calling PlacesServiceFunction to GoogleMaps API - Step 2"
" Step 3"
"End of PlacesSearch Step 4"
"final Starting Step 5"

如果您转储key、placeObject[key]的值并导致调用console.logPlease,这会有所帮助。请让您的问题更具可读性。代码、实际输出和所需输出的位置不清楚。我已经测试了placeObject[key],除了流之外,一切都正常。你知道回调是异步的,请求同时运行吗?@Bergi我对JS不熟悉,所以我没有意识到回调是异步的。您建议我更改/实施什么?