Google Place APIコールバック回避策
-
13-11-2019 - |
質問
undefinedではなくコールバックの結果を返すよう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
を返す
解決
それは不可能です。コールバック関数は、未定義の後の時点で明示的に実行されます。非同期的にです。$.find_places_nearby()
への呼び出しは、コールバックとしてその呼び出しの結果で実行する必要があるコードを渡すものではなく、何も返しません。そのコールバックから何かを返すことは理にかなっていません。
他のヒント
PROSESS オブジェクトを使用してみてください。 約束パターンはあなたが非同期のものをすることを可能にしますが、それでもより線形の流れを維持します。
所属していません StackOverflow