質問

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 オブジェクトを使用してみてください。 約束パターンはあなたが非同期のものをすることを可能にしますが、それでもより線形の流れを維持します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top