Google Blace API обратный вызов Wearbound
-
13-11-2019 - |
Вопрос
Я ищу обходной путь для получения метода поиска Google для возврата результатов обратного вызова, а не undefined.
$.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
Решение
Это невозможно.Функция обратного вызова явно выполнена на некотором неопределенном более позднем моменте времени, асинхронно .Вызов для $.find_places_nearby()
будет явно не вернуть ничего, скорее вы передаете код, который должен быть выполнен с результатом этого вызова в качестве обратного вызова.Не имеет смысла вернуть что-то из этого обратного вызова.
Другие советы
Вы можете попробовать использовать Обещание объектов. Шаблон обещания позволяет вам делать асинхронные вещи, но все же поддерживать более линейный поток.
Не связан с StackOverflow