Javascript 控制台打印语句时出错
在下面的代码中,我向GoogleMapsPlacesAPI传递一组坐标并检索本地业务信息。我不明白为什么下面的代码会出现错误。下面的控制台语句应该按此顺序,但正如您在下面看到的,它们不是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
"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不熟悉,所以我没有意识到回调是异步的。您建议我更改/实施什么?