我正在寻找一种解决方法,让google搜索方法返回回调结果而不是未定义。
$.find_places_nearby = function(latitude, longitude, successCallback) {
var latlng, service;
latlng = new google.maps.LatLng(latitude, longitude);
service = new google.maps.places.PlacesService(document.getElementById('map'));
return service.search({
location: latlng,
radius: '50',
}, function(results, status) {
return successCallback(results, status);
});
};
例如......我想要
$.find_places_nearby(2.4, -100.5, function(results, status) {
return "callback results";
});
返回callback results
而不是undefined
答案 0 :(得分:0)
那是不可能的。回调函数在稍后的某个未定义的时间显式执行,异步。对$.find_places_nearby()
的调用将明确地不返回任何内容,而是传递应该以该调用的结果作为回调执行的代码。从回调中返回一些内容是没有意义的。
答案 1 :(得分:0)
您可以尝试使用promise个对象。 promise模式允许您执行异步操作但仍保持更线性的流程。